2017-08-12 34 views
-1

我正在使用Ionic的移动端项目,我有一个Web应用程序以及一个Cassandra数据库。使用Cassandra的离子移动应用程序,本地存储如何?

我需要移动设备(本地存储)和服务器托管的Cassandra数据库之间的数据同步。我使用cassandra-driver连接数据库,但后来我意识到将数据转换为其他类型的数据库(例如SQLite)会带来多大的问题。

我应该使用除Cassandra之外的其他数据库来使同步更容易吗? (我需要一个noSQL解决方案)

回答

1

数据库的选择取决于您想要存储的数据的类型。 Cassandra是一个面向列的数据库。当你需要处理大量的数据时,它有很好的性能,但是它有很多与你需要用来提取数据的查询有关的限制。出于这个原因,它可能需要额外的努力来开发一些你可以轻松使用其他数据库的东西。所以,真正的问题是你真的需要Cassandra。

如果您仅将它用于移动应用程序,我不认为您将拥有如此多的数据来挖掘Cassandra的优势。

在你的地方,我宁愿考虑一些其他数据库,比如MongoDB,如果数据是键/值对,那么JSON适用于你的数据或者Redis格式。

+0

我选择Cassandra是因为我处理大量的数据,我有一个账户系统,每个用户都有一个记录各种数据的日志,并以这种方式对这些数据进行分析是可能的。与Facebook类似。 但即使mongodb会有问题的本地存储在手机上不会? – Noelmout

+1

如果你想使用本地存储,MongoDB将无法工作。我建议它作为你在问题中指出的远程DB。如果您想查找本地存储解决方案,则可以考虑将PouchDB作为本地存储,将CouchDB作为远程数据库。处理大量数据时,MongoDB和CouchDB都是远程数据库的理想选择,并且可以将文档存储为JSON格式,因此可以很容易地与PouchDB同步。 Cassandra不是唯一能够处理大量数据的数据库,因此在选择堆栈之前应考虑其他方面。 –