2017-12-16 206 views
5

Firavunluğa geçmek istiyorum, ancak mysql tablolarının no-sql tabanlı veritabanlarına nasıl eşleneceğini anlamam gerekiyor. Verileri çoğaltmaktan kaçınmak için özellikle birleşimleri kullanıyorum. Yani 1 tablo (A) ile ilgili 2 tablo (B & C) varsa. Gerektiğinde tablo A'dan B'ye katılabilir veya gerektiğinde A tablosuna katılabilirim. Bu, mongoose/mongodb, yani noSQL'de nasıl çalışır.İlişkisel olmayan veritabanlarında gereksiz veriler nasıl önlenir?

cevap

2

Tanımladığınız veriler normalleştirilmiş verilerdir. Veritabanlarındaki normalizasyon, ilişkisel veritabanlarının bir özelliğidir. MongoDB gibi belge tabanlı no-sql veritabanları, dtaa'yı bir doucmnet paradigması etrafında yapılandırdığınız farklı bir paradigma kullanır. Bu dünyada, veriler belgelere (JSON yapıları) yerleştirilmiştir. Diğer yapılara işaret edebilirsin ama her zaman bir zorunluluk vardır. Hangi düzeyde veri yedekliliğinin işe yaradığına karar vermelisiniz, ancak bu gerçekten ikincil bir konudur. MongoDB benzeri bir dünyada ilk önceliğiniz, bağlamda en anlamlı olanı bulmaktır. Örneğin, gömülü satır öğelerine sahip bir Faturayı temsil eden bir belgenin yanı sıra ayrı bir müşteri nesnesinin işaretçisini de görebilirsiniz. Ancak, aynı veritabanında, müşterinin etrafında tasarlanan bir belgeye sahip olabilirsiniz. Bu, fatura başlıklarının iç içe geçtiği, hatta fatura satırlarının iç içe geçmiş olduğu veya iç kısımda faturalanan satırlarla iç içe geçmiş fatura başlıklarına veya ürün katalog bilgileri içeren veya içermeyen ürünlere sahip olabilir. .

Katıldı bir MongoDB dünyada genellikle pahalıdır, ancak çeşitli amaçlar için birden çok şekilde depolanan verilerin zenginliği kullanarak değer bir özelliktir - doğru bağlamda.

Bir ilişkisel DBMS için bir yedek olarak MongoDB görüyorum ama olmamalı yerine daha büyük bir dil bilen (çok dilli) kalıcılık tasarımının bir parçası olarak. Redis ve Neo4J gibi diğer veri araçlarını da farklı şeyler yapmak için o dünyanın bir parçası olarak kullanabilirsiniz.

Atlar için kurslar; MongoDB her şey için değil.