我必须在三层架构上设计一个软件:
我的数据很简单,非常适合存储在单个RDMS表中,或者我可以将它存储在Cassandra中,然后定期我需要Spark在整个数据集上运行一些机器学习算法。
哪个数据库更适合我的用例?详细地说,我不需要在多个节点上扩展,我认为主要的基本问题是:
在简单的桌子上对Cassandra或MySQL进行简单的查询(SELECT)更快?
来自Cassandra的Spark Connector是否会受益于它的一些功能,它会使它比SQL连接器更快?
答案 0 :(得分:0)
如果数据大小小于2Tb,您可以使用MySQL。在MySQL表上选择将比在Cassandra中更灵活。 当您的数据存储要求跨越单台机器时,您应该使用Cassandra。 Cassandra需要为每个查找或选择方案进行仔细的数据建模。
您可以使用以下建议的方法进行MySQL Spark Integration
答案 1 :(得分:0)
这一切都取决于数据:大小,完整性,规模,灵活的模式分片等。
使用MySQL if:
使用Cassandra if:
请查看此benchmarking article和此pdf
答案 2 :(得分:0)
我认为将sql数据库用作mysql会更好,如果你需要以更大的比例和许多数据中心扩展数据,就应该使用cassandra。 java cassandra jdbc驱动程序只是连接到cassandra的普通驱动程序,它与其他数据库驱动程序相比没有任何特殊的优势。