SORU
6 ŞUBAT 2010, CUMARTESİ


Nasıl bir paylaşılan tablo yapıları ile çok kiracılı bir veritabanı oluşturmak için?

Bizim yazılım şu anda MySQL üzerinde çalışır. Tüm kiracı ve veri aynı şema içinde saklanır. Ruby on Rails kullanıyoruz beri kolay olan kiracıya ait olduğu tespit edebiliriz. Ancak onların veri tehlikeye olabilir korkusu olan tabii ki bazı şirketler var, diğer çözümleri değerlendiriyoruz.

Şimdiye kadar üç seçenek: gördüm

  • Çoklu Veritabanı (her kiracı kendi müşteri başına 1 ile aynı neredeyse sunucu alır)
  • Multi-Şema (MySQL mevcuttur, her kiracı paylaşılan bir veritabanında kendi şema alır
  • Paylaşılan Şeması (mevcut yaklaşımı, belki de her bir sütunun üzerinde ek tanımlayıcı kaydı ile)

Multi-Şema benim favorim (fiyatı göz önünde bulundurarak). Ancak yeni bir hesap oluşturma ve göçler yaparak tüm şemalar üzerinde yineleme ve/sütun/tanımlar masalarını değiştirmek zorunda kalacak, çünkü oldukça acı verici gibi görünüyor.

Q:Multi-Şema her bir kiracı için biraz farklı tablolar - bunu istemediğim için tasarlanmış gibi görünüyor. Benim tablo yapısı tüm kiracılar arasında paylaşıldığı multi-şema multi-tenant bir çözüm kullanmak için izin verir herhangi bir İLİŞKİSEL var mı?

Multi yani P. S. bir şey ultra-multi gibi (10.000 kiracı).

CEVAP
6 ŞUBAT 2010, CUMARTESİ


Ancak bazı şirketler vardır kendi veri korkusuyla kim dersin değerlendiriyoruz bu kadar tehlikeye, diğer çözümler.

Bu müşteriler bazen sadece fiziksel izolasyon yeterli güvenlik sunabilir bir yanlış anlaşılma muzdarip olarak talihsiz bir durum.

MSDN ilginç bir makale var, başlıklı kontrol etmek isteyebilirsiniz hangi Multi-Tenant Data Architecture,. Bu yazarların ortak bir yaklaşım doğru yanlış hitaben:

Yaygın bir yanlış kanı. sadece fiziksel bir izolasyon sağlayabilir güvenlik seviyesi uygun. İçinde aslında, saklı paylaşılan kullanarak veri yaklaşım aynı zamanda güçlü bir veri sağlayabilir güvenlik, ama daha fazla kullanılması gerekir sofistike tasarım desenleri.

Teknik ve ticari konuları, makale, belirli bir yaklaşım diğerine göre daha uygun olabilir nerede hakkında kısa bir analiz yapar:

Bu sayı, doğanın ve ihtiyaçlarını seni etkilemesine hizmet etmek için bekliyoruz kiracılar veri mimarisi sizin kararınız farklı yollar. Aşağıdaki bazı bir soru daha doğru sapma olabilir Diğerleri olsa da yaklaşım, izole, önyargı daha fazla ortak doğru yaklaşım.

  • Kaç tane potansiyel kiracılar hedef bekliyorsunuz? Hiçbir yerde olabilir tahmin edememek yakın otorite ile muhtemel kullanın, ama büyüklük açısından düşün: bir uygulama yapıyorsunuz kiracı yüzlerce? Binlerce? On binlerce? Daha fazla? Bu büyük kiracı Bankası, bekliyoruz daha düşünebilirsiniz daha ortak bir yaklaşım.

  • Ne kadar depolama alanı ortalama kiracının işgal etmeye veri bekliyorsun? Eğer bazı veya tüm kiracılar için bekliyoruz mağaza çok büyük miktarda veri, ayrı veritabanı muhtemelen yaklaşım iyi. (Nitekim, depolama veri gereksinimleri bir benimsemeye zorlayabilir -veritabanı ayrı bir model zaten. Eğer öyleyse, çok daha kolay tasarım için olacak uygulama bu şekilde başına gitmek için daha bir ayrı veritabanı daha sonra yaklaşım.)

  • Çok sayıda eşzamanlı son kullanıcılar nasıl destek ortalama kiracı bekliyor musunuz? Bu sayı ne kadar büyükse, daha fazla daha da ıssız uygun bir yaklaşım son kullanıcı gereksinimlerini karşılamak için olacak.

  • Her kiracı katma değerli hizmetler sunmak için bekliyoruz, bu mu her kiracı yedekleme ve geri yükleme yeteneği? Bu hizmetler daha kolay üzerinden sunmak için daha fazla izole yaklaşım.


GÜNCELLEME:Daha fazla kiracı sayısı beklenen güncelleme için.

Kiracı (10k) beklenen sayı tüm senaryoları yoksa çoklu veritabanı yaklaşımı, en çıkarmak gerekir. 10,000 veritabanı örneklerini korumak ve yenilerini her gün yüzlerce yaratmak fikri hoşuna gideceğini sanmıyorum.

Bu parametre tek başına, paylaşılan veritabanı, tek-şema yaklaşımı en uygun gibi görünüyor. Sadece kiracı başına 50Mb depolama olacak ve her kiracı yok aslında eklenti, bu yaklaşım daha da uygun hale getirir.

Web makale yukarıda anılan paylaşılan veritabanı yaklaşımı için güvenlik konuları ele üç güvenlik desen bahseder:

Uygulamanızın veri güvenlik önlemleri ile emin olduğunuzda, müşterileriniz güçlü veri güvenliği güvence sağlayan Service Level Agrement teklif etmek mümkün olacaktır. Apart kendisine gelen SLA, aynı zamanda veri tehlikeye olmadığından emin olmak için gidersin önlemler tarif edebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • InfinityWard

    InfinityWard

    19 EYLÜL 2006