memsql数据库 *** 作

memsql数据库 *** 作,第1张

1、memsql 分布式内存数据库,号称是速度最快的关系数据库。由前Facebook工程师创建,兼容MySQL,但比MySQL快30倍,能实现每秒150万次事务。原理是仅用内存并将SQL预编译为C++。

2、你的问题,memsql 是怎么保证数据存入没错,这是数据库的基本功能,保证数据的保存和读取,这是通过数据库事务、以及锁功能来实现的,具体的原理阐述请查阅数据库基础书籍。

3、希望对你有帮助。祝你学有所得。

一个很好的消息是memesql 从6.7 版本开始,对于用户来说已经可以免费使用了(ha 以及安全功能),只是目前有一个限制是集群内存最大可以使用的是128G。

信息来源:网页链接  www.cnblogs.com/rongfengliang/p/9921162.html

通常选择是在官网下载最新的稳定版,不选择beta版或测试版。

祝好运,望采纳。

MemSQL宣称支持ACID,其中耐久性是最重要的一环。MySQL的InnoDB默认是很耐用的,如果事务返回为“同意”,就会在崩溃后刻到磁盘上。MemSQL默认也是很“耐久”的,它也会有一个事务日志,而这并不意味着跟磁盘有关。

MemSQL也有事务缓冲设置,默认“完全耐久性模式”会不同时地返回“同意”直到128M缓冲区充满。本质上这跟innodb_flush_log_at_trx_commit=2很相似,在我看来不会很持久。

如果MemSQL激活了完全的耐久性会发生什么呢?结局肯定是悲剧。每次提交都得等后台线程才能写事务日志。多久后台线程才能醒一次?50毫秒一次。MemSQL其实是玩的是计时戏法,每50毫秒冲一次,然后说后台线程一直没醒。

吐槽点一:MemSQL每秒持久事务比InnoDB慢500倍

这一点很容易证明:在磁盘阵列控制器的后写式缓存模式下,InnoDB能够轻易的维持单线程每秒10K的事务,在fsyncs空隙不会停50毫秒。有一些提交分组,两个线程有40tps,十个线程有200tps,但当我选择自己的基准时,MemSQL单线程持久事务率会变得更慢。

既然我们已经确立了MySQL的领先优势,让我们一起来看读写的表现。我敢肯定这方面MemSQL的表现会大亮。MemSQL扫描表的执行速度还是不错的,每秒扫描8M行,这对单线程来说是很了不起的成就。

说实话,我不想花时间用基准问题测试内存数据库所擅长的。我决定测试我最爱的查询:

SELECT * FROM table ORDER BY id DESC LIMIT 5

网上到处是这个查询,MySQL 通过指向索引位置的游标,然后按照指标顺序逐步游动。而MemSQL实际上必须穿越整个目录,分类提供响应。即使是“SELECT MAX(id)”也需要穿越整个目录。

吐槽点二:MemSQL在做一些简单的读写查询时,比MySQL慢上千倍,也许是慢百万倍

我们假设MemSQL在一些普通运算有O(N) performance,因此我们只需找到那个足够大的N。我不知道我们应该如何责备MemSQL的研发人员和被他们误导的那些记者朋友。如果我们回到ACID,A代表原子性,只在语句级实现,BEGIN/COMMIT被无视了。隔离性是提交读。持久性是有缺陷的,我不关心字母C所代表的。我必须承认,MemSQL常见问题中说,MemSQL支持完整ACID事务,当然了,说是这么说。

MemSQL每秒80000次查询没什么值得炫耀的,因为现在MySQL有了HandlerSocket,计算能力接近每秒百万次。当然了,他们也有自己擅长的事情,目前是最快的 MySQL 协议,当然也没超出MySQL Cluster多少。NDB也有很不错的表现。我确信,我上面的两则声明会被一些技术工作所完善。写入性能需要适当的实时与分组提交同步(虽然二进制日志所涉及的工作很复杂,MySQL 最近还是推出了几项重大更新)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6841471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存