Birden fazla web uygulamaları ve veritabanları için Mimarlık

2 Cevap php

Biz sadece bir web uygulaması için kullanılan, ama şimdi birden olanları içine aşağı kırıyorlar. Her biri ayrı bir ürün (web uygulaması) olarak paketlenmiş olacak Bazı bazı yoktur ortak şeyler var.

Bu aslında php ve çerçeve olarak Postgresql 8.4 ve CodeIgniter'ı kullanılarak kodlanmıştır.

Ben birden çok web uygulamaları kurmak gerektiği hakkında bazı iyi öneriler için arıyorum. Hepsi kendi biraz benzersiz veri var. Veritabanlarında bazı veriler tüm bazı uygulamalar için ortak ama olabilir. Tüm uygulamalar bir sunucu üzerinde olacak ve verileri işlemek için API çeşit olacaktır.

I want it to be structured such that one User account can access any product they purchase. (kinda like google accounts)

I do not know if its a good idea to have multiple database, or just to have one big one. eventually we will be using S3 for some videos and other images.

Sizin düşünce ve önerileri çok takdir edilmektedir.


UPDATE:
Thanks for the replies. I can see the database being distributed over lots of drives because we are not allowed to remove any data for up to 10 years.

Ayrıca görüntülerin çok (ben asıl soru bu söylemeyi unutmuşum), Flickr gibi bir şey yok ama iyi bir miktar var. Biz şimdi neredeyse 300gigs var ve çünkü yeni bir iş anlaşması bir ben ay yaklaşık 500 yeni üyeleri arıyoruz. Şu anda görüntüler onlar grubuna bağlı olarak birden fazla klasör içinde saklanır. Sabit disk nasıl ben onlara ulaşmak istiyorum / ve oda biterse? Ben yük dengeleyici içeri yerdir varsayarak yaşıyorum

2 Cevap

Birden fazla uygulama arasında sorgularken aynı bağlantıyı yeniden ve herhangi bir aksaklığa olmadan onlara JOIN çünkü tek bir veritabanı büyük olasılıkla yalnızca temiz olurdu. Örneğin, ortak bir etiket sistemi ile birbirine bağlanmış bir blog girişi kenar çubuğunda ilgili ürün ya da videoların listesini ekleyerek. Ya da Reader'da bir Wave veya Posta iplik takip ve kolayca tabloları ve başvuru yeteneği ekleyerek Google karşılaştırma için aralarında docs.

Toplam veritabanı boyutu her tablo, diğerleri ayrı bir dosya bağımsız, hiçbir şey etkilemez. Yeni özellikler boyunca ilave olarak çelişkili / kafa karıştırıcı tablo adları ana konu olabilir, ama biraz namespacing uzun bir yol gidiyor.

Veritabanı hakkında, siz farklı uygulamaları ayırmak için PostgreSQL farklı ŞEMA adlı kullanabilirsiniz. Sonra bir uygulama için tek bir şema ile veritabanı var, ama aynı zamanda birçok uygulama için çok şemalar olabilir.

PostgreSQL çok büyük veritabanlarını işleyebilir, TB adlı bir çift tüm bir sorun değildir.