Sqlite veya MySql? Nasıl karar verilir? [kapalı]


96

İkisinden hangisinin kullanılacağına nasıl karar vereceğiniz konusunda iyi bir kural var mı?

Ve bir Sqlite veritabanını devralırsanız ve sistemin "çok daha büyük olması" bekleniyorsa, ona bağlı kalmaya veya MySql'e geçmeye nasıl karar verilir?


1
FirebirdEmbedded'i düşünün, bu ikisinin çok güçlü bir karışımı.
Stefan Steiger

1
Çok geniş bir şekilde kapatmak için oylama. Olası kopya silindi: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

11
Şimdi geniş, ancak bu tür sorular yayınlandığında kabul edilebilirdi ya da en azından tolere edildi. Umarım soru, olası kopya gibi silinmez, böylece diğerleri tartışmayı ve önerileri okuyabilir.
Mawg, Monica'nın

6
Etkisi ve görünürlüğü yüksek olan soruların (aşağıdaki yukarı oyların sayısına bakın) bu sitenin "monitörleri" tarafından kapatılması çok üzücü. Bu da tüm izleme sürecini ve monitör seçimini oldukça tartışmalı hale getiriyor.
francogrex

2
Sitenin standartları, değerleri ve hedefleri yıllar içinde değişmektedir. "Öncelikle fikir temelli" artık kabul edilemez. Bugün bunu sormak isteseydim , burada değil softwarerecs.stackexchange.com adresinden sorardım ve bir veritabanı için gereksinimlerimi listeleyip öneriler alırdım. Neden benim sorum kapatıldı anlıyoruz, ama bir olması kullanıldığında hala bir süreliğine nostaljik kitaplar etiketi ve kelime başlığında "iyi" Ortalama anlık kapatma vermedi: - / YMMV
Mawg yeniden aktifleştirme Monica diyor

Yanıtlar:


105

Özellik setleri hiç de aynı değil. Sqlite, ağ yetenekleri olmayan (siz eklemediğiniz sürece) gömülü bir veritabanıdır. Yani bir ağ üzerinde kullanamazsınız.

Eğer ihtiyacın varsa

  • Ağ erişimi - örneğin başka bir makineden erişim;
  • Herhangi bir gerçek derecede eşzamanlılık - örneğin, aynı anda birkaç sorgu çalıştırmak isteyeceğinizi veya çok sayıda seçim ve birkaç güncelleme içeren bir iş yükünü çalıştırıp sorunsuz bir şekilde gitmelerini istediğinizi düşünüyorsanız, vb.
  • 1Tb veritabanınızın bölümlerini 32G belleğinizde tamponlamak için çok fazla bellek kullanımı.

Mysql veya başka bir sunucu tabanlı RDBMS kullanmanız gerekir.

MySQL'in tek seçenek olmadığını ve yeni uygulamalar için daha iyi olabilecek pek çok başka seçenek olduğunu unutmayın (örneğin pgSQL).

Sqlite çok, çok güzel bir yazılım parçasıdır, ancak hiçbir zaman RDBMS sunucularının yaptığı şeylerin hiçbirini yapma iddiasında bulunmamıştır. Yerel dosyalarda SQL çalıştıran küçük bir kitaplıktır (birden çok işlemin dosyayı bozmamasını sağlamak için kilitlemeyi kullanır). Gerçekten iyi test edildi ve çok beğendim.

Ayrıca, bunu kendi başınıza doğru bir şekilde seçemiyorsanız, muhtemelen ekibinizde bunu yapabilecek birini işe almanız gerekir.


Yani temelde sqllite, ms erişim dosyalarına bir alternatiftir.
dvdmn


Basitlik uğruna, MySql veritabanı kullanan ağ bağlantılı uygulamalar için bile veritabanına erişmesine izin verilen tek kullanıcı olan tek bir yazılım parçasına her zaman sahibim.
Mawg, Monica

59

Sqlite ekibi , okunması çok iyi olan sqlite'ın ne zaman kullanılacağını açıklayan bir makale yayınladı . Temel olarak, çok fazla yazma eşzamanlılığınız olduğunda veya terabaytlarca veriye ölçeklemeniz gerektiğinde sqlite kullanmaktan kaçınmak istersiniz. Diğer birçok durumda, sqlite, MySQL gibi "geleneksel" bir veritabanına şaşırtıcı derecede iyi bir alternatiftir.


12

Kullanıma hazır SQLite, eşzamanlılık konusunda gerçekten tam özellikli değildir. Aynı SQLite veritabanına isabet eden yüzlerce web isteğiniz varsa başınız belaya girer.

Kesinlikle MySQL veya PostgreSQL kullanmalısınız.

Tek kişilik bir proje içinse, SQLite'ın kurulumu daha kolay olacaktır.


Basitlik uğruna, MySql veritabanı kullanan ağ bağlantılı uygulamalar için bile veritabanına erişmesine izin verilen tek kullanıcı olan tek bir yazılıma her zaman sahibim, ancak özellikle Sqlite için.
Mawg, Monica

10

Önceki mükemmel yanıtlara birkaç sentim. www.sqlite.org sitesi bir sqlite veritabanı üzerinde çalışmaktadır. İşte bağlantı yazar (Richard Hipp) benzer bir soruya yanıt verdiğinde.


1
Bağlantı için teşekkürler, aynı yazar Athlon 1600 üzerinde denediği kendi tezgahıyla devam ediyor . 1GB RAM. 5400RPM IDE disk. Redhat 7.3. Şu sonuca varıyor: "Artık SQLite'ın günde 1 milyona kadar isabet alan web sitelerinde birincil veritabanı olarak kullanılmaya uygun olduğuna inanıyorum."
Rutrus
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.