分布式存储的数据类型有以下三类: 非结构化的数据:主要是数据之间的关联系不大,像文本图片之类的数据
结构化的数据:数据之间关联系很大,关系型数据库这种,可以用表进行表示的
半结构化的数据:介于上述两种数据类型之间,数据之间的关系简单,典型的代码是html文件 常见的存储引擎包括以下几种: Btree存储引擎:B树的持久化实现,支持随机增删改,读取,以及顺序扫描。->分布式数据库
LSM存储引擎:支持随机增删改,读取,以及顺序扫描,它通过批量转存技术将随机写入数据批量顺序写入到磁盘上->广泛用于互联网后台存储系统 代表数据库:MongoDB、mysql(基本上关系型数据库)等 还有一种算是B树存储引擎:COLA树(CacheObliviousBTree)
代表数据库:tokudb 为了如何让B树更有效的执行,他们提出了一个缓存忘却CacheOblivious算法,该算法在不需要明确知道存储器层次中数据传输规模的情况下,也可以高效的工作。 说个大家熟悉的名称TokuMX : 目前非常流行的NoSQL数据库MongoDB的底层替换成与TokuDB同样的存储引擎[ ToKuMx],达到了非常好的效 果 LSM树(Log-Structured Merge Tree)存储引擎 日志结构的合并树(LSM-tree)是一种基于硬盘的数据结构,与B-tree相比,能显著地减少硬盘磁盘臂的开销,并能在较长的时间提供对文件的高速插入(删除)。然而LSM-tree在某些情况下,特别是在查询需要快速响应时性能不佳。通常LSM-tree适用于索引插入比检索更频繁的应用系统。Bigtable在提供Tablet服务时,使用GFS来存储日志和SSTable,而GFS的设计初衷就是希望通过添加新数据的方式而不是通过重写旧数据的方式来修改文件。
|