2013-05-07 24 views
5

Farklı bir NoSQL veritabanını değerlendirdiğimiz süreçte bir postgreSQL'den bir NoSQL veritabanına veri aktarmam gerekiyor ve Cassandra bir olasılık olarak ortaya çıktı ancak Cassandra'nın bir metin dizisinin bir sütun olarak desteklenmesini desteklemediğine benziyor. türü, bu doğru mu? Bu tip sütunlarda hangi NoSQL veritabanları bu tür sütunları ve destek dizinlerini destekliyor?Hangi NoSQL veritabanları, postgreSQL metin [] türünde olduğu gibi metin dizisi sütunlarını (ve bu sütunlardaki dizinleri) destekler?

Örneğin bu depolamak ve verilerle bu tip bir sütun üzerinde dizin var:

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

peşin!

+1

MongoDB dizi alanları üzerinde dizin oluşturulmasına izin verir. Peki neden ** başka bir veritabanı teknolojisine de postgreSQL'den veriye * ihtiyaç duyuyorsunuz? – Philipp

+0

Artık db büyük ve ihtiyaç duyduğumuz hızda çalışan tek bir (pahalı) sunucuda sahip olmanın maliyeti, daha az pahalı sunucular kullanarak db için bir NoSQL kümesi oluşturmanın maliyetinden daha fazla. –

+0

Memcache gibi bellek önbellekleme tekniklerini yeterince kullanmıyorsunuz gibi görünüyor. –

cevap

1

Tam olarak sorunuza bir cevap (yeterli itibar yorum yapmak (?!?)), Ancak henüz PostgresXC denedi, senin sorunun ölçeği olduğunu ve PostgreSQL geldiğini anlamak? Bu NoSQL'den çok daha kolay bir geçiş olabilir. NoSQL veri tabanları, bildiğim gibi, gerçekten iyi olandan daha fazla zarar verebilecek çok farklı performans özelliklerine ve nüanslara sahip. Postgres-XC, PostgreSQL'in bir çok-master yazma-ölçeklenebilir çatalıdır ve bir PostgreSQL özellik açısından 9.1 ile 9.2 arasında bir yerde oturur ve aktif bir projedir. Bu ay 9.2 uyum sağlandı ya da doğru hatırlamıyorsam son. Ne olduğu için ayarlanması nispeten kolaydır - bir tane birincil, bir tanesi ise bir yedek olarak 2 tane GTM'yi inşa edersiniz, onlara yeterince bellek verir. Ardından, sunucu başına çift koordinatörler ve veri düğümleri, 1 koordinatör ve 1 veri düğümü ekleyerek yatay olarak ölçeklendirebilirsiniz. Uygulama katmanınız koordinatörlerden herhangi biriyle konuşabilir, işlemler uygun koordinatörlere gönderilir ve verilerinizin tabloya göre dağılımını belirtebilirsiniz - küçük referans tabloları için çoğaltılır veya büyükler için dağıtılır. Sorgularınızı iyi tasarlarsanız, çok sayıda koordinatör/veri düğümü çifti üzerinde sorgularınız eşzamanlı olarak gönderilebildiği ve yürütüldüğü için büyük bir performans artışı elde edebilirsiniz.

NoSQL'i aradığınızı biliyorum, ancak bunun nedeni de dikey ve yatay ölçek problemi olduğumuzdan ve sonunda ilişkisel bir yetenek oluşturmaktan ziyade ilişkisel bir sistemde NoSQL yeteneğini oluşturmanın daha kolay olduğunu buldum. bir NoSQL sistemine. Ve tabii ki hepsi sizin verilerinize bağlıdır, bazen NoSQL kesinlikle en iyi seçimdir. Bazen büyük bir baş ağrısı olabilir, örneğin bazı NoSQL veritabanları dosya sistemi büyümesi ile ilgili sorunlara sahip olurken, SAN'nizi evde ve dışarıda yediğinizde yatay ölçeklenebilirlik satın aldığınızı düşündünüz.

Her neyse, umarım yardımcı olur! Bunu bir yorum olarak bıraktım ama stackoverflow'un bu tuhaf şöhret olayı var.

Ayrıca, Postgres-XC ile, hangi sütunları dağıtmak istediğinizi ve ne tür bir algoritma ile belirtebileceğinizi de belirtmeyi unuttum. Genelde karma ile dağıtıyorum ve iki şeyden emin olun, önce karma uygulama tarafı oluşturulabilir, böylece satırların gadzilyonları olan tablolarda birleştirme yapmak zorunda kalmam ve ikinci olarak karma'nın dağıtım düzeyini sunucular arasında tutması Doğru ama aynı zamanda ilgili bilgilerin bir arada tutulması, sorguların gönderilebilirliğini arttırmak için aynı sunucuda. Yani, bir müşteri tablonuz ve bir müşteri siparişleri tablonuz varsa, her iki tabloda da bulunan benzersiz müşteri bilgilerinin bir karmasını dağıtın ve bu uygulama tarafını oluşturabildiğinizden emin olun. Umarım bu mantıklıdır, açıklamakta iyi bir iş yapıp yapmadığımdan emin değilim. Daha fazla açıklama yapmak isterseniz lütfen bize bildirin, dokümanlar XC üzerinde şu an biraz dağınık durumda, bu yüzden ilgili bir çok şey OJT.

İlgili konular