哪些NoSQL数据库支持文本数组列(以及该列上的索引),如postgreSQL text[]类型?

哪些NoSQL数据库支持文本数组列(以及该列上的索引),如postgreSQL text[]类型?,nosql,Nosql,我需要将数据从postgreSQL移动到NoSQL数据库,在这个过程中,我们正在评估不同的NoSQL数据库,Cassandra提出了一个可能性,但从文档中看,Cassandra似乎不支持将文本数组作为列类型,对吗?哪些NoSQL数据库支持这种类型的列并支持这种类型列的索引 例如,要存储此数据并在包含此类数据的列上建立索引,请执行以下操作: City:['Washington','Washington DC'] 提前谢谢 这不完全是对你的问题的回答(没有足够的声誉来评论(?!?),但要知道你的问

我需要将数据从postgreSQL移动到NoSQL数据库,在这个过程中,我们正在评估不同的NoSQL数据库,Cassandra提出了一个可能性,但从文档中看,Cassandra似乎不支持将文本数组作为列类型,对吗?哪些NoSQL数据库支持这种类型的列并支持这种类型列的索引

例如,要存储此数据并在包含此类数据的列上建立索引,请执行以下操作:

City:['Washington','Washington DC']

提前谢谢

这不完全是对你的问题的回答(没有足够的声誉来评论(?!?),但要知道你的问题是规模,而且你来自PostgreSQL,你试过PostgresXC吗?这可能是一个比NoSQL容易得多的转换。我想大家都知道,NoSQL数据库具有非常不同的性能特征和细微差别,实际上可能弊大于利。Postgres XC是PostgreSQL的一个多主写可扩展分支,从PostgreSQL功能的角度来看,它位于9.1和9.2之间,是一个活动项目。9.2合规性被安排在本月或最后一个月(如果我没记错的话)。它的设置相对简单-您将构建两个GTM,一个作为主GTM,另一个作为故障切换GTM,为它们提供足够的内存。然后,您可以通过添加协调器和数据节点对进行水平扩展,每台服务器一个协调器和一个数据节点。您的应用程序层可以与任何协调员进行对话,事务被发送到适当的协调员,并且您可以按表指定数据的分布—对于小型引用表进行复制,对于大型引用表进行分布。如果您设计好查询,您可以获得巨大的性能改进,因为您的查询可以在多个协调器/数据节点对上同时发送和执行

我知道您正在寻找NoSQL,但我提到这一点是因为我们也有一个垂直与水平尺度的问题,最终我发现将NoSQL功能构建到关系系统比将关系功能构建到NoSQL系统更容易。当然,这完全取决于您的数据,有时NoSQL绝对是最佳选择。有时这也是一个令人头疼的问题,例如,一些NoSQL数据库在文件系统增长方面存在问题,因此,尽管您认为自己购买了水平可伸缩性,但最终还是在家里吃掉了SAN

不管怎样,希望这有帮助!我会把它作为一个评论,但是stackoverflow有着奇怪的名声


我还忘了提到,使用Postgres XC,您可以指定希望在哪些列上分发以及使用何种算法。我通常通过散列进行分发,并确保有两件事,首先,散列可以在应用程序端生成,这样我就不必在大量行的表上进行连接;其次,散列可以保持服务器之间的分布级别正确,但同时也可以将相关信息保存在同一服务器上,从而提高查询的可交付性。也就是说,如果您有一个customer表和一个customer orders表,那么在这两个表中的一些客户唯一信息的散列上分发这两个表,并确保您可以生成该应用程序端。我希望这是有道理的,我不确定我是否解释得很好。如果您想进一步澄清这一点,请让我知道,这些文档现在在XC上有点分散,因此我介绍的很多内容都是OJT。

MongoDB允许在数组字段上创建索引。但是,为什么您也需要将数据从postgreSQL移动到另一种数据库技术?因为现在数据库很大,而且在单个数据库中使用它的成本很高(昂贵)以我们需要的速度运行的服务器比使用较便宜的服务器为db设置NoSQL群集的成本还要高。听起来您没有充分利用memcache等内存缓存技术。