不清楚。不过NDS Cluster对业务场景的支持非常有限,只有根据主键查询才能发挥其优势,其他的查询会比较恼火。再加上运维相对复杂。从性价比上讲我觉得还是不如用mysql innodb + 简单的垂直/水平拆分。
一、为什么mysql-cluster没有在国内大规模使用以及对比proxysql 、 Atlas
不清楚。不过NDS Cluster对业务场景的支持非常有限,只有根据主键查询才能发挥其优势,其他的查询会比较恼火。再加上运维相对复杂。从性价比上讲我觉得还是不如用mysql innodb + 简单的垂直/水平拆分。
可能的原因大概是:
1.MySQL Cluster的技术复杂度太高,毕竟是Share-Nothing的分布式数据库产品,支持分布式事务,以及完全透明等;
2.MySQL Cluster的索引数据必须基于内存,元数据也是7.2版本才推出基于列的模式允许存储在磁盘上,这个功能其实没啥意义,要是能做到基于行的模式依据冷热,那就完全不一样;
3.MySQL Cluster的业务场景限制,最大的优点也是最致命的缺点,比如跨节点的JOIN,所以一直在提升这方面的算法和数据同步,对网络环境要求太高;
4.MySQL Cluster同NoSQL产品比较,以及去做NoSQL产品的事情,是一种自我定位失败;
5.国内非常缺乏这方面的技术人才,也缺乏实战的业务场景,故必须先对这些研究透彻和丰富解决方案才可行,以及需要有这方面的第三方公司,毕竟甲骨文在国内是没有任何技术服务团队的(注:我们上海热璞网络科技有限公司的技术团队早已经做了一部分的研究工作,会在2014年继续深挖)。
延伸阅读:
二、Django 是什么
Django 是一个高级的 Python 网络框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django 负责处理网站开发中麻烦的部分,因此你可以专注于编写应用程序,而无需重新开发。 它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。
Django 可以使你的应用具有以下优点:
完备性
Django 遵循“功能完备”的理念,提供开发人员可能想要“开箱即用”的几乎所有功能。因为你需要的一切都是一个”产品“的一部分,它们都可以无缝结合在一起,遵循一致性设计原则,并且具有广泛和最新的文档。
通用性
Django 可以(并已经)用于构建几乎任何类型的网站—从内容管理系统和维基,到社交网络和新闻网站。它可以与任何客户端框架一起工作,并且可以提供几乎任何格式(包括 HTML,Rss 源,JSON,XML 等)的内容。你正在阅读的网站就是基于 Django。
在内部,尽管它为几乎所有可能需要的功能(例如几个流行的数据库,模版引擎等)提供了选择,但是如果需要,它也可以扩展到使用其他组件。
安全性
Django 帮助开发人员通过提供一个被设计为“做正确的事情”来自动保护网站的框架来避免许多常见的安全错误。例如,Django 提供了一种安全的方式来管理用户账户和密码,避免了常见的错误,比如将 session 放在 cookie 中这种易受攻击的做法(取而代之的是 cookies 只包含一个密钥,实际数据存储在数据库中)或直接存储密码而不是密码哈希。
密码哈希是通过密码散列函数发送密码而创建的固定长度值。Django 能通过运行哈希函数来检查输入的密码 – 就是 – 将输出的哈希值与存储的哈希值进行比较是否正确。然而由于功能的“单向”性质,即时存储的哈希值受到威胁,攻击者也难以解决原始密码。(但其实有彩虹表 – 译者观点)
默认情况下,Django 可以防范许多漏洞,包括 SQL 注入,跨站点脚本,跨站点请求伪造和点击劫持。