我正在为 MySQL (Engine = MyISAM) 寻找替代数据库。
我的 Java 应用程序存储具有 250 - 300 个属性的大型对象。单个 MySQL 服务器上大约有 5 亿个对象。避免不必要的连接,它使用垂直分区,手动执行。有近 250 个用于存储属性值的表,这些表也被索引。MySQL 在查询特定属性时执行缓慢(查询 5 个属性意味着 5 个连接)。
推荐一个 NoSQL-Database 以提高查询性能的速度(范围查询、精确匹配查询以及它们的组合)。
MongoDB 似乎是将这些对象存储在单个集合中的一个不错的选择,不幸的是,MongoDB 每个集合最多只能索引 64 个属性,这意味着我也必须拆分对象值。MongoDB 也不提供加入集合服务器端的功能。
有人知道如何使用 dbref / 手动引用使用 MongoDB / Java“加入”多个集合吗?
如果没有,是否有其他 NoSQL 数据库用于存储具有 ca 的大型对象。250个属性,如上所述?
要求:
无需交易
用户必须只看到他们查询的属性,而不是整个对象
单一数据库服务器环境。