为什么Cassandra的写速度比MySQL快?
一、为什么Cassandra的写速度比MySQL快
Cassandra 的写速度比 MySQL 快的两大根本原因。1、cassandra没有sql解析层,这是个大块。2、cassandra采用memstable+sstable的模型,最大化的提高数据的写入性能,磁盘操作只有顺序写。nosql产品的数据写入buffer非常大, nosql用数据安全换取高性能, 其实没有绝对的优势。
Cassandra特点
(1) 列表数据结构
在混合模式可以将超级列添加到5维的分布式Key-Value存储系统。
(2) 模式灵活
使用Cassandra,不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。
(3) 真正的可扩展性
Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以增加动态添加节点即可。不必重启任何进程,改变应用查询,或手动迁移任何数据。
(4) 多数据中心识别
可以调整节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
(5) 范围查询
如果不喜欢全部的键值查询,则可以设置键的范围来查询。
(6) 分布式写操作
可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。
Cassandra写数据时,首先会将请求写入Commit Log以确保数据不会丢失,然后再写入内存中的Memtable,超过内存容量后再将内存中的数据刷到磁盘的SSTable,并定期异步对SSTable做数据合并(Compaction)以减少数据读取时的查询时间。因为写入操作只涉及到顺序写入和内存操作,因此有非常高的写入性能。而进行读操作时,Cassandra支持像LevelDB一样的实现机制,数据分层存储,将热点数据放在Memtable和相对小的SSTable中,所以能实现较高的读性能。
延伸阅读:
二、MongoDB是什么
非关系型数据库(nosql ),属于文档型数据库。MongoDB采用类JSON的documents来存储数据。数据结构由键值(key=>value)对组成。
MongoDB采用动态数据模型schema,这意味着不需要预先定义表的数据类型和字段名。当MongoDB需要更新文档documents的时候,可以轻松增加新的字段名或者删除旧的字段。MongoDB让数据结构更加层级化,因而存储数组等复杂数据结构。 在同一个集合collection中,文档document对字段也没有强约束,因此更容易设计差异化的数据结构。

猜你喜欢LIKE
相关推荐HOT
更多>>
RESTful API的命名有什么讲究?
一、RESTful API的命名有什么讲究和目录没关系,通常是框架路由接管的 request uri解析出来的(v1、v2有可能是实际的目录)restful规范/资源名/...详情>>
2023-10-18 23:56:05
文件系统和数据库是由于什么原因才选择B树或B+树建立?
一、文件系统和数据库是由于什么原因才选择B树或B+树建立索引的索引的目标是要找到数据所在的物理位置,因此用树去实现搜索数据所在物理位置,...详情>>
2023-10-18 22:55:19
mysql如果单表数据量过千万怎么办?
一、mysql如果单表数据量过千万怎么办方案概述方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有...详情>>
2023-10-18 22:33:40
数据库表名、字段名用中文有什么问题?
一、数据库表名、字段名用中文的问题1、兼容性问题某些数据库管理系统(DBMS)可能不支持使用中文作为表名和字段名,或者对于中文的支持有限。...详情>>
2023-10-18 21:09:43热门推荐
RESTful API的命名有什么讲究?
沸KEGG 怎么用?
热文件系统和数据库是由于什么原因才选择B树或B+树建立?
热mysql如果单表数据量过千万怎么办?
新什么情况下需要使用分布式数据库?
为什么Cassandra的写速度比MySQL快?
数据库表名、字段名用中文有什么问题?
数据库文件存放在NAS中,会有什么问题吗?
多线程并发访问数据库中不同记录时应该采用什么办法?
为什么mysql要额外加入一个utf8mb4数据类型,而不是原地升级utf8?
PolarDB-X与PolarDB的关键区别是什么?
Mysql、SQLite、Mongo的区别?
为什么用Go语言做Web应用开发框架?
什么是i.MXRT11xx上的串行NOR Flash双程序可交替启动?
技术干货






