我的问题可能有点本土化。OLTP中事务的含义是什么?它与 ACID Transaction 相同还是有其他东西?
像 cassandra 这样的 NoSql 数据库不遵循 ACID 属性。他们遵循CAP。Cassandra 属于哪一类?它是 OLAP 还是 OLTP?
尽管不支持真正的 ACID,Cassandra 首先是一个 OLTP 数据库,根据定义,它是关于实时捕获、存储和处理来自事务的数据。
Cassandra 可用于 OLAP 工作负载,通常与 Apache Spark 结合使用,以针对 OLTP 数据进行分析查询。这是 Cassandra + Spark 真正强大的用例之一——实时分析,因此你可以实时获得洞察力。
如果你正在针对 Cassandra 运行 OLAP 查询,建议在多数据中心配置中进行部署,以便:
通过在其自己的 DC 中隔离 OLTP 工作负载,你的应用程序用户不会受到分析查询对数据库施加的负载的影响。这可确保你的应用程序的性能和用户体验保持一致。干杯!
感谢@Erick 的回复。我正在阅读 Martin Kleppmann 的“设计数据密集型应用程序”,我无法理解 OLAP 和 OLTP 之间的区别。我们可以进行聚合的任何数据库是 OLAP 吗?
您仍然可以使用 Spark 在 Cassandra 中进行聚合。没有严格的定义,但 OLAP 数据库通常按列而不是行存储数据,因此您可以轻松地进行聚合。搜索“列式数据库”以获得更好的主意。干杯!