SORU
19 EYLÜL 2008, Cuma


Nasıl veritabanları yerine veri depoları var.

Örnek olarak, Google App Engine veri depolamak için veri depolayan bir veritabanı kullanır. Kimseye veritabanları yerine veri depoları kullanmak için herhangi bir ipucu var mı? Aklımı doğrudan tablo yapıları göster nesne ilişkileri 0 düşünmek için eğittiğim gibi görünüyor, ve şimdi zor bir şey farklı. Veri depoları (örneğin performans ve veri dağıtmak için yeteneği) bazı faydaları anlayabiliyorum, ama bazı iyi veritabanı işlevselliği (örn katılır) kurban edilir.

BigTable gibi veri depoları ile çalışmış olan herkes onlarla çalışmak için iyi bir tavsiye var mı?

CEVAP
19 EYLÜL 2008, Cuma


Hakkında 'geleneksel' veritabanları: . göre App Engine veri deposuna alışmak için iki önemli şey var

  • Veri deposuna ekler ve güncelleştirmeler arasında hiçbir ayrım yapar. Koy çağırdığınızda() bir varlığın, o varlık kendi benzersiz anahtar ile veri deposuna saklanan, ve önemli olan bir şey üzerine alır. Temelde, veri deposuna her varlık çeşit devasa harita veya sıralanmış bir liste gibi davranır.
  • Sorgulama eğer bahsettiğin gibi, çok daha sınırlıdır. Hayır, başlangıç olarak katıldı.

Anlamak için en önemli şey - hem de bu farklılıkların arkasındaki neden Bigtable temelde büyük sıralı bir sözlük gibi davranır. Böylece, bir işlem sadece belirli bir anahtar için değer - bu anahtarın önceki değeri ne olursa olsun, ayarlar ve işlemleri tek tuşları veya tuşları bitişik aralıkları getiriliyor sınırlıdır getir. Daha karmaşık sorgular Olası temelde sadece kendi tabloları olan dizinler, ile, bitişik aralıkları tarama gibi daha karmaşık sorguları gerçekleştirmek için izin yapılır.

Bu absorbe ettik, temel bilgi veri deposu, yeteneklerini ve sınırlarını anlamak için gerekli. Keyfi gibi kısıtlamalar muhtemelen daha mantıklı.

Burada önemli olan şey olduğunu, ancak bu kısıtlamalar konusunda ne yapabilirim bir ilişkisel veritabanı, bu kısıtlamalar ne yapmak pratik büyütmek için böyle bir büyüklük Bigtable olduğunu işlemek üzere tasarlanmamıştır. Sadece kağıt üzerinde iyi görünüyor bu sorgu sıralama yürütebilirsiniz. ama bir SQL veritabanı atrociously yavaş.

Veri temsil şeklini değiştirmek için nasıl açısından, en önemli şey precalculation. Sorgu zaman birleşimler yapmak yerine, verileri önceden hesaplamak ve mümkün olan her yerde veri deposuna içinde saklayın. Eğer rastgele bir kayıt almak istiyorsanız, rastgele bir sayı üretmek ve bu mağaza her kaydı ile.İpuçları ve püf noktaları here bu tür bütün bir yemek kitabı varEdit: yemek kitabı artık varlığı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • RyanXLT

    RyanXLT

    22 Ocak 2011