内存数据库解析与主流产品对比(三)( 四 )


2. 索引优化:考虑面向内存中的Cach Line优化、快速的内存访问等Latch-Free技术 , 以及索引的更新不记录日志等;
3. 并发控制:可以采用悲观和乐观的并发控制方式 , 但是与传统基于磁盘数据库的区别是 , 内存数据库锁信息和数据绑定 , 而不用单独的Lock Table管理;
4. 查询处理:内存数据库场景下的顺序访问和随机访问性能差别不大 。 可以通过编译执行提高查询性能;
5. 持久化:仍然通过WAL(Write-Ahead Logging)做Logging , 并采用轻量级的日志 , 日志记录的内容尽量少 , 目的是降低日志写入磁盘延迟 。
内存数据库从1970s开始出现经历了理论成熟、投入生产、市场验证等发展环节 。 随着当前互联网秒杀、移动支付、短视频平台等高并发、大流量、低时延的平台出现 , 对于数据库性能提出了巨大需求和挑战 。 同时 , 内存本身在容量、单位价格友好度上不断提升 , 以及近期非容失性存储(NVM)的发展 , 促进了内存数据库的发展 , 这些因素使得内存数据库在未来有着广阔的市场和落地机会 。
注:本文相关内容参照以下资料:
1. Pavlo, Andrew & Curino, Carlo & Zdonik, Stan. (2012). Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems. Proceedings of the ACM SIGMOD International Conference on Management of Data. DOI: 10.1145/2213836.2213844.
2. Kemper, Alfons & Neumann, Thomas. (2011). HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. Proceedings - International Conference on Data Engineering. 195-206. DOI: 10.1109/ICDE.2011.5767867.
3. Faerber, Frans & Kemper, Alfons & Larson, Per-?ke & Levandoski, Justin & Neumann, Tjomas & Pavlo, Andrew. (2017). Main Memory Database Systems. Foundations and Trends in Databases. 8. 1-130. DOI: 10.1561/1900000058.
4. Sikka, Vishal & F?rber, Franz & Lehner, Wolfgang & Cha, Sang & Peh, Thomas & Bornh?vd, Christof. (2012). Efficient Transaction Processing in SAP HANA Database –The End of a Column Store Myth. DOI: 10.1145/2213836.2213946.
5. Diaconu, Cristian & Freedman, Craig & Ismert, Erik & Larson, Per-?ke & Mittal, Pravin & Stonecipher, Ryan & Verma, Nitin & Zwilling, Mike. (2013). Hekaton: SQL server's memory-optimized OLTP engine. 1243-1254. DOI: 10.1145/2463676.2463710.
【点击下方链接阅读微信原文>>>快快关注“星环科技”微信公众号>>>更多内容资讯等你来看>>>还有不定时福利放送哦!】