Oracle'ın hangi özellikleri onu küçük projeler için çekici bir seçenek haline getiriyor?


13

Oracle'ın lisans yönetimi [a] (ve daha az ölçüde maliyet) göz önüne alındığında , her zaman için PostgreSQL veya MySQL üzerinden Oracle'ı seçmek için belirleyici faktörlerin ne olacağını merak ediyordum.

Şirketim, veritabanını herhangi bir özel DB yönetimi olmadan çalıştıran tek bir basit Windows sunucu kutusunun olduğu küçük projeler için bile neredeyse her zaman Oracle'ı (mümkünse XE) seçiyor. (Not bu küçük gelmez değil veri anlamına daima Oracle XE oldukça küçük boyutu kısıtlamaları uyacaktır.)

Bu seçimi her zaman sorguladım, ancak en azından tek bir veritabanı ürününe maruz kalmamızın faydası var.

Yine de, RDBMS'ye ihtiyacınız olan yeni bir proje verildi, ancak veritabanının projesi ve kapsamı oldukça küçüktür, Oracle'ın basit Windows sunucu kutularında (çok fazla özel yönetim olmadan) çalışan benzersiz özelliklerine dayanarak Oracle'ı seçersiniz başka bir RDBMS?

Ek Bağlam : Veritabanı dağıtımlarımızın birçoğu müşteri sitelerinde "düşük yönetim" modunda diyelim. Yani, veritabanı bir kez kurulur. Yerinde doğru davranış ve performans hakkında bazı ilk testler vardır. Bundan sonra, veritabanı sadece çalışır. Düzenli yönetim yapılmaz. Sadece bir şey kırılmışsa, bir teknisyen (özel bir DBA değil) veritabanını kontrol eder, ne olduğunu anlamaya çalışır. Yedekleme çoğunlukla çevrimdışı yedekleme olarak yapılır. Bazı projelerde, müşteriler dahil bir RDBMS'nin umrunda bile değil. Sadece uygulamalarını çalışan (veya olmayan) bir kara kutu olarak görüyorlar.

[a]: Çalıştığım yerde , yerel Oracle temsilcileri gelir küçükse, ürünlerini satmakla pek ilgilenmediği için, birkaç proje yöneticisinin küçük projeler için düzgün lisans alması aylarca defalarca sürdü .


"Her zaman XE'nin oldukça küçük boyutlu kısıtlamalarına uymayan" veriler için XE'yi nasıl seçiyorlar?
Jack diyor ki topanswers.xyz

@Jack: eğer uyuyorsa XE kullanıyoruz, eğer yapmıyorsa ... iyi yapmıyoruz :-)
Martin

11.2 Express Edition beta sürümündedir ve kullanıcı veri sınırı 4 GB'tan 11 GB'a çıkarılmıştır. Bkz oracle.com/technetwork/database/express-edition/...
Leigh Riffel

Oracle'ın PIVOT'u var, MySQL ve Postgres yok. Bazı durumlarda bu büyük bir artı.
Phil Lello

1
@ Phil Lello: PostgreSQL'in
PIVOT'u var, katkıda bulunanı

Yanıtlar:


12

Yalnızca Oracle ve postgres için cevap vermeye çalışabilirim. Oracle'ı yalnızca yıllarca kullandıktan ve sadece son iki yıl boyunca postgres kullandıktan sonra postgres'i seviyorum . Oracle'dan daha kullanışlı olmanın pek çok küçük yolu vardır ve çok sayıda önemli faydayı (MVCC gibi) paylaşır. Yönetilmesi daha kolaydır, güvenilirdir, mükemmel belgelere sahiptir ve elbette ücretsizdir.

Ancak postgres, Oracle gibi bazı alanlarda eşleşmiyor:

  • RAC - bildiğim kadarıyla herhangi bir veritabanı için daha iyi bir kümeleme teknolojisi yok
  • RMAN - postgres'in temel yedekleme ve kurtarma özelliklerinden çok daha üstündür, özellikle de blok değişiklik takibi ve artımlı yedeklemelerle (güncel bir tam yedek tutmak için diğer yedeklere uygulayabilirsiniz)
  • Oracle desteği var. postgres desteği? Çok değil
  • postgres dünyasında analogu olmayan IOT'ler, 'Güvenli Dosyalar' ve sıkıştırma teknolojisi gibi diğer birçok özellik

İlginçtir ki neredeyse tüm bu özellikler XE'de yoktur veya sakatlanmıştır. Sanırım XE yerine postgres seçtim, her şey eşit, ama ...

... hiçbiri Oracle'ı seçmenin en büyük iki sebebini ele almıyor:

  1. Oracle'ı zaten kullanıyorsunuz ve büyük bir yatırımınız var (veritabanı bağımsızlığı saçma bir efsanedir)
  2. Geliştiricileriniz ve DBA'larınız Oracle'ı tanıyor ve özelliklerini tam olarak kullanıyor (neden veritabanı bağımsızlığı olarak aptalca bir efsane olmasın?)

DÜZENLE:

Her seferinde XE üzerinden postgres seçeceğim tek durum, güvenlik endişe ise. Veritabanınız veya uygulamalarından herhangi biri halka açık internete maruz kalıyorsa, XE'nin iyi bir fikir olup olmadığından emin değilim.


RGD. RMAN - Yani Oracle'ın yedekleme özelliklerinin Postgre'den daha iyi olduğunu söyleyebilir misiniz? Bu, düşük yönetim ortamına sahip olur mu (Q düzenlememe bakın)?
Martin

@Martin - RMAN güçlü ve çok olgun, birkaç farklı iyileşme durumunda beni gördüğüne güveniyorum. Tek bir şey 'basit'. Pahalı DBA'lar olmadan yaptığınız anlaşılıyor, şu anda çevrimdışı yedeklemeleriniz için RMAN kullanıyor musunuz? (Günlük?) Birden fazla Gb yedeklemenizi istemci sitelerinden nasıl gönderiyorsunuz?
Jack diyor ki topanswers.xyz

SQL Server, Oracle'ın RAC'sine eşdeğer olacak HA kümelemeye sahiptir.
StanleyJohns

@stan dba SQL Server için kümeleme seçeneklerinden okuduğum kadarıyla, RAC ile gerçekten karşılaştırılamazlar, çoğu rac gibi çözümler değil, büyük ölçekli çözümler üzerinde başarısız oluyorlar.
Matthew Watson

Oracle'ı seçmeniz için 2. nedeniniz 1. IMO ile hemen hemen aynı. Temelde kararlısınız. - Destek gelince, bu kesinlikle Postgres için de var. Mükemmel posta listelerinden memnun değilseniz, bölgenizde ücretli destek sunan şirketler için bu listeye göz atın.
eevar

9

Oracle Apex . Doğrudan veritabanına yerleştirilmiş kullanışlı, kullanımı kolay bir web uygulama ortamı. Oldukça basit bir şekilde, tek bir entegre pakette web ui / uygulama mantığı / veritabanı ile 'tek kutu' uygulamalarının dağıtılmasını kolaylaştırır.

PS. 11g XE (şu anda beta sürümündedir) depolamayı 10GB'ın üzerine çıkarır.


APEX için +1. Sorunları ve gremlinleri olsa da, uygulamaları hızlı ve kolay bir şekilde yerden almak için SEVİYORUM . Oracle için RAD olarak biri olarak düşünüyorum.
Kerri Shotts

5

Oracle'ın diğer flashback seçenekleri Express Edition'da mevcut olmasa da, Flashback Sorgusu . Üzerinde sorulan soruya göre , başka hiçbir veritabanı geçmişte belirli bir noktadan itibaren bir select deyiminin verileri sorgulamasına izin veren bu özelliğe sahip değildir. Flashback verileri, geçerli verilerle birleştirilebilir ve geçerli tablolara eklenebilir; böylece geri alma işlemleri, geçici değişiklikler ve bir yöntemle yapılan değişikliklerin tek bir yerde karşılaştırılması için yararlı olur.

Bazı diğer veritabanlarının Oracle Express Edition'da bulunmadığı bazı şeyler.


5
postgres, 'AuthID Geçerli Kullanıcı ve Tanımlayıcı', 'Sınırlamaları Kontrol Et', 'Ertelenebilir Sınırlamalar', 'Tarih ekleme ve çıkarma', 'Hiyerarşik Sorgular', şema dışı tetikleyiciler, çoğu 'Analitik İşlevler', bazı 'Koleksiyon İşlevleri' , 'XML işlevleri', 1 GB'a kadar clob, 'Oluştur veya Değiştir' ve 'Çoklu Platform' kutuları da (en azından)
Jack, denemek topanswers.xyz

@JackPDouglas Yarışma "her şey" olduğunda bir profesyonel listesi oluşturmak zordur. Bilgi için teşekkürler.
Leigh Riffel

@Leigh - kabul ettiniz, listenizin Martin için yararlı bir referans olduğunu düşünüyorum. RMAN'den bahsetmezsiniz, en azından varsayılan olarak kullanılmasa da mevcut (v10) XE'de bulunur. Sadece bir nit-pick: XE 4 veya 11Gb ile sınırlıysa, 128Tb'a kadar olan Clobs'lar gerçekten desteklenmez :)
Jack, topanswers.xyz'i deneyin

@JackPDouglas RMAN'den daha önce bahsetmiştiniz ve cevabınızı (veya başkalarını) tamamlamak istemedim.
Leigh Riffel

@JackPDouglas Clob iyi yakalar. Listede bıraktım çünkü daha küçük clobs XE'de yararlı olabilir ve veritabanı büyürse, son derece büyük clobs'u destekleyen bir platformda olmak yararlı olabilir.
Leigh Riffel

4

Her şeyden önce, Oracle Know-How'un mevcut olduğu faktörünü küçümsememelisiniz, ancak diğer RDBMS için değil. Diğerleri için bilgi oluşturmak zaman ve para gerektirir ve başlangıçta bazı hatalar da eşlik edebilir.

Ayrıca, küçük bir projenin bir anda büyümeyip büyümeyeceğini asla bilemezsiniz. Ardından, XE'den Standard Edition One'a Standard Edition'a Enterprise Edition'a çok sorunsuz ve hızlı bir şekilde yükseltebilirsiniz. Başka bir RDBMS'den geçiş, çok daha fazla zaman ve para gerektirecektir. Alt satır: Sanırım şirketiniz doğru yapıyor - tamam, biraz önyargılı olabilirim :-)


Weeell. Ben Oracle hakkında ... hmm ... nasıl buralarda biliyorum derdim Ben 'd muhtemelen I gibi onunla tıpkı Postgre'nin artı yapabildiğim bir noktaya ulaşmak için googleing biraz uğraşırken 3 saat gerekir Oracle ile yapabilirsiniz. (PL / SQL hariç) Ve burada Oracle uzman kullanıcılarından biri olduğumu düşünmek istiyorum :-) - Ama bir yükseltme yolu hakkındaki argümanınız kesinlikle geçerlidir.
Martin

@Martin: bu iyi bir işaret değil ... ~ 2 yıldır projelerimizden biri için (paketlenmiş bir uygulamanın parçası olarak) postgres kullanıyorum ve hala iyi performans gösteremiyorum (kısmen çünkü Uygulamanın kullandığım kısımları, count()postgres'in aşil topuğu gibi görünen büyük ölçüde dayanıyor ). Stackoverflow planlayıcısı nasıl etkileyeceğini
Joe

2

Oracle'ın güzel özelliklerinden biri, uygulamaların tek bir veritabanında birleştirilmesini her uygulama için ayrı bir veritabanına göre çok daha kolay hale getiren Oracle Resource Manager gibi özelliklerden biridir. Bunun kuruluşunuzda kullanılmadığı anlaşılıyor. Daha önce de bahsettiğiniz gibi projeler için geçmişte birleştirilmiş veritabanları tasarladım.

  • Her projenin kendi donanımı vardı
  • Her projenin kendi lisansı vardı
  • Her projenin kendi depolama alanı vardı

Bu, tüm projelerin en basitinin bile başlaması aylar aldı ve piyasaya sürmenin son derece önemli olduğu bir zamanda, bu öldürüyor. Bir nedenden dolayı bu, siyasi nedenlerden dolayı çoğu zaman ihmal edilen birçok kişi tarafından gözden kaçırılıyor.

Bunun çözümü oldukça basit. Tek bir ciddi veritabanı oluşturun, her projeye / uygulamaya kendi şemalarını verin ve kullanıcılara erişin ve aylar yerine saatler içinde çalıştırın. Böyle bir şey yapacaksanız, benzer çalışma süresi gereksinimlerine sahip uygulamaları birleştirmek yararlı olabilir. Oracle gittikçe daha fazla çevrimiçi bakım seçeneği sunuyor ancak bazen birkaç saatlik kesinti süresi çok daha kolay. Önceden tanımlanmış bunun için zaman pencerelerine sahip olmak birçok sorunu önleyebilir. Biraz aksama süresine ihtiyacınız olacak.

Uygulamaların veritabanına bağlanmasına izin vermeyin, kendi tns-alias'larını kullanarak uygulamaya adanmış hizmetlere bağlanmasını sağlayın. Bunu yapmak, uygulamayı yeniden yapılandırmanıza gerek kalmadan uygulamayı başka bir veritabanına taşımanızı sağlar.

BTW: Bu konsolidasyon yöntemini kullanan şirketler, yılda bir kez daha fazla nakit tasarrufu sağladı.


Bu giriş için teşekkürler. Birçok projenin müşteri sitelerinde çalışan veritabanına sahip olduğunu ve bu nedenle onları birleştirmek için bir anlam ifade etmediğini unutmayın. (Eğer konsolidasyondan doğru anlıyorsam.)
Martin

Yine de paketin bittiği yerde müşteri tarafından konsolide edilmesi tavsiye edilebilir. Gömülü bir veritabanı olması gerekiyorsa, biraz farklı olabilir.
ik_zelf

Açıkça anlaşılacağı gibi, Oracle XE'nin Kaynak Yöneticisi özelliği yoktur, bu nedenle bu yalnızca lisanslı bir sunucuda birleştirmek için yararlı olacaktır. @ik_zelf Aksi belirtmek niyetin olmadığını biliyorum.
Leigh Riffel

@Leigh Riffel evet, Oracle kurulumunun mevcut olduğunu varsayıyordum, böyle bir konsolide senaryoda EE'yi tercih ederim. Sorunun gömülü bir çözüme daha fazla baktığı görülüyordu.
ik_zelf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.