2010-03-05 15 views
40

Python'da bir uygulama yazmak ve çeşitli ORM kurulumları ve düz SQL ile oynamaktayız. Bunların hepsi günah gibi çirkin.ZODB Gerçek Hayatta

ZODB'yi bir nesne deposu olarak inceledim ve umut verici bir alternatif gibi görünüyor ... tavsiye eder misiniz? Özellikle geliştiricinin perspektifleri, ölçeklenebilirliği, bütünlüğü, uzun vadeli bakımı ve alternatifleri ile ilgili deneyimleriniz, sorunlarınız ve eleştirileriniz nelerdir? Herkes onunla bir proje başlatır ve atlatır mı? Niye ya? ZODB, Pypersyst ve diğerleri ilginç arkasında fikirler iken

, bunlardan :(

+0

-1: Değer Yargısı: "RDBMS/Nesne uyumsuzluğundan nefret etmeye başlıyor" Sorunun değer yargısını ortadan kaldırabilir misiniz? Gerçeklere odaklanmanın ve kişisel nefretinizi vurgulamanın bir yolu var mı? –

+16

@ S.Lott - İsteksiz bir düzenleme. Yanlış olduğun için değil, çünkü -1 sadece kaba olan bir istek ile sıralı geldi. Bu bayeux halısı değil. –

cevap

25

ZODB'yi Zope ve dışarıda on yıldan fazla bir süredir kullanıyorum. Verileriniz hiyerarşik ise harika. Bir müşterinin faaliyet gösterdiği en büyük veri deposu belki de .. 100GB'm var mı? Zaten bu büyüklükte bir şey.

İşte a performance comparison against Postgres.Eğer WSGI web uygulaması yazıyorsanız

, bu paketler yararlı olabilir:

+1

Kabul edildi. Sadece cevaptan dolayı değil, ihtiyacım olan ZODB malzemelerini ziyaret ederken yazılarınızı/makalelerinizi/sunumlarınızı görmeye devam ediyorum. Başka soruları kimin yönlendireceğini biliyorum! ;) –

+0

Bu http://docs.zope.org/zope3/Code/BTrees/index.html ayrıca yararlı – amirouche

+0

Orada performans hakkında gerçekten ilginç bir bağlantı. Okumaya değer! – fatuhoku

2

ZODB büyük veritabanları

bol kullanılmaktadır

En ZODB kullanımıdır etrafında coşku eksikliği var gibi görünüyor/

Uzun vadeli bakım böylece ba onlar

Performansı yazıyor çok var özellikle relatonal veritabanı + ORM olarak o kadar iyi değil uzakta Zope yer değiştirmesi durumunda,. uzakta göç muhtemelen Zope kullanıcıları değil edilmiştir d, zaman zaman veritabanını paketlemek istiyorsunuz, ancak bu canlı yapılabilir.

Sen doğrudan

Ben ZODB flaş diskler üzerinde nasıl performans hiçbir fikrim yok ZODB kullanmaktan daha oldukça çok yavaştır sizin ZODB birden fazla işlemi kullanacağız eğer ZEO kullanmak zorunda.

+0

Cevabınız için teşekkürler! ZODB bir webfarm kurulumunda ZEO kullanarak MySQL yerine sığacak mı diye merak ediyorum. Ciddi önbellekleme, mağazanın yavaş performansını umarız. –

+3

ZODB, genellikle bir istemci tarafı önbelleği olduğundan, karışımdaki ZEO ile bile, veriler değişmediğinde yinelenen sorgular için ilişkisel veritabanlarını kullanır. –

0

Dekapaj ile key value veritabanını benzer şekilde kullanabilmeniz gerekir.

+3

Hem 'a' hem de 'b' seçmediğiniz sürece, her bir referans 'c' mutlaka emin misiniz? –

+0

@Aiden, zodb bu davayı nasıl ele alıyor? – mikerobi

+8

ZODB bunu şeffaf olarak işler. Http://faassen.n--tree.net/blog/view/weblog/2008/06/20/0 –

14

"Herhangi bir anahtar-değer deposu" ile karşılaştırıldığında, ZODB için temel özellikler, öznitelik değişikliklerinin gerçek ACID işlemleriyle otomatik olarak bütünleşmesi ve diğer kalıcı nesneler için "keyfi" referansların temizlenmesi olacaktır.

ZODB Zope varsayılan olarak kullanılan sadece FileStorage daha büyüktür:

  • RelStorage arka uç standart araçlarını kullanarak, vb yedeklenmiş çoğaltılabilir bir RDBMS veri koymak sağlar.
  • ZEO, uygulama yöneticilerinin ve çevrimdışı işlerin kolayca ölçeklenmesini sağlar.
  • İki aşamalı taahhüt desteği, RDBMS'ler (TPC'nin farkında olduğu bir katman sağladıklarını varsayarsak) dahil olmak üzere, birden fazla veritabanındaki işlemlerin koordine edilmesine olanak tanır.
  • Nesne özniteliklerine veya engellemesine dayanan kolay hiyerarşisi: öykünme yapmak için özyinelemel birleştirme yazmanız gerekmez.
  • Dosya sistemi tabanlı BLOB desteği, büyük dosyaların sunulmasını önemsiz kılar.

Genel olarak, verilerin şekli açıkça "kare" olmadığı hemen hemen her sorun için ZODB kullanarak çok mutluyum.

+0

+1 - ilginç okuma –

4

tavsiye ediyorum o.

Gerçekten hiçbir eleştirim yok. Aradığınızı bir nesne deposu ise, kullanmak için budur. Daha önce 2,5 milyon nesne sakladım ve bir tutam hissetmedim.