Basit bir Web doc sistemi (veya temel CMS) üzerine düz dosyalar vs RDBMS'yi kullanarak herhangi bir gerçek faydaları var mıdır?

9 Cevap php

The Project

Ben ilginç bir proje üzerinde çalışmak için istendi ettik - PHP ile HTML / CSS / jQuery kullanır - temel bir Web CMS ne miktarda. Ancak, bir gereksinimi (- tercih JSON biçiminde onlar belgeler / sayfalar için düz dosyalar istiyorum) verileri barındırmak için bir veritabanı olmayacak olmasıdır.

Bir çok temel anlamda, bir çok "non-teknik okul" arayüz ile HTML sayfaları oluşturmak için kullanılabilir olacak. Her kurulum sadece 20 sayfa olurdu, ancak birkaç 100'e kadar alabilirsiniz. Bu bir PHP yetenekli sunucu üzerine bırakın ve gerekli çok az kurulumu ile çalıştırmak oldukça kolay olmalıdır.

What's Out There

CMS ton seçenekleri ve epeyce düz dosya sürümleri vardır. Fakat ÖSS ya da diğer mevcut CMS bir seçenek değildir. Bunlar basit bir uygunluk sistemi gerekir.

Initial Thoughts

Yani düz dosyaları öyle ... ama gerçekten sakıncaları üzerinde bazı geribildirim almak istiyorum, ve bunu denemek ve MySQL (SQLite veya CouchDB gibi bir şey kullanmak için ikna çabaya değer olup olmadığını sunucuların hiçbiri beri dışarı ) şu anda onları çalıştırmak için yapılandırılabilir.

Tabii belge dosyaları oldukça basit, ama biz de 1 ya da 2 kurulum başına yöneticileri, birkaç listeleri, yanı sıra yapılandırmaları / ayarları (ki aynı zamanda kolayca koruması ile bir dosyada saklanabilir) için giriş bilgi bahsediyoruz.

The Dilemma

Benim kendi önyargılı fikirlerle :) ötesinde - - Bu gibi basit bir projede JOSN biçimli dosyaları ve bazı dizileri MySQL kullanarak ziyade faydası varsa ben bunları tartışmak için emin olacağım.

Ama dürüst olmak gerekirse ben bir veritabanı sistemi yok onların ihtiyacı ağır basmaktadır herhangi göremiyorum.

Ben size fikir ve görüşler takdir ediyorum.

9 Cevap

Ilişkisel tablo tasarımı için özel bir ihtiyaç alıntı yapamıyorsanız, o zaman düz dosyalar ile iyisin. Belirtildiği gibi oluşturun. Eğer belirli bir ihtiyacı alıntı yapabilirsiniz an, bunları bildirmek; Eğer algı zamanında (; daha önce entegre olması gerektiğini veri normalleştirmek zorunda pozisyonda t eğer aren yani,) eğer yükseltme, o kadar da zor değildir.

Bu CouchDB kullanamazsınız bir utanç, bu onun için mükemmel bir uygulama gibi görünüyor. Düz dosyaları kullanarak ciddi, özellikle, ölçeklenebilirlik Mimarinizi kısıtlamakta ve aklınızda tutun.

Ne CMS uygulaması için iyi senaryo? Bu başarılı ve insanların daha fazla kullanmak istiyor? Eğer düz metin dosyalarını kullanıyorsanız bu hizmet ve sistemi geliştirmek (örneğin daha güçlü yapmak ve gelecek sürümleri için yeni özellikler eklemek) ve performansı iyi ölçek olmaz için zor olacak. Başarı özellik seti ve performans daha az kazanç için daha fazla çalışma içine çevirir gibi Yani bu durumda "başarı", en iyi kısa sürelidir.

CSM doğru tasarlanmış Sonra tekrar, sonra RDMS'e düz bir dosya arasındaki geçiş, farklı bir veri erişim dosyası kullanmak kadar basit olmalıdır.

Bu herhangi bir paylaşılan barındırma sitelerine yüklenecektir. Bu biraz güvenle çalışması için, benzeri bir mekanizma suEXEC web sunucusu çeşitli dizinlere yazma izinleri gerekir olarak düzgün bir şekilde ayarlanması gerekir.

Ne JSON ve jQuery ile beslemek bir basit bir site ile serin olurdu sitesi her tıklama yüklemek gerek olmazdı ki. Sadece ilgili veri değiştirmek istiyorsunuz. Daha sonra nerede takip etmek için konum çubuğuna sağlamalarının kullanabilirsiniz (örn. http://localhost/#about)

Onlar dalaşamaz ham JSON dosyasını o kadar oldukça hızlı düzenleme varsa sorun olmaktan. Ben admin araçları hiçbir şey sonları sağlamak böylece girişine göre json dosyaları oluşturmak zorunda düşünüyorum. Admin araçları daha gerektirdiği olurdu o sitesi (gerçi bu her zaman dinamik siteler ile durum böyle değil)

CMS için öngörülen data boyutları nedir?

Bir RDMS'e kullanımı için büyük bir nedeni, büyük miktarda veri hızlı, özel erişim. Veri formatı büyük olmayabilir, ama çok veri varsa, o zaman bir RDMS'e için uzun vadede daha iyi olabilir.

CSM doğru tasarlanmış Sonra tekrar, sonra RDMS'e düz bir dosya arasındaki geçiş, farklı bir veri erişim dosyası kullanmak kadar basit olmalıdır.

RDBMS çok büyük bir CMS için gerekli olsa da, küçük bir çok iyi düz dosyalar kaçıp olabilir. Orada CMS ürünleri bir çok gerçek bir ihtiyaç olduğu zaman karışımı içine RDBMS'yi atarak, sanırım, bu konuda düşmek.

Eğer düz dosyalar kullanıyorsanız Ancak, diğerleri sermiştir güvenlik sorunları vardır. Ben geldim bir başka konu fopen () ve arkadaşları gibi I / O fonksiyonları dosyasını devre dışı bırakmak için php.ini içinde disable_functions direktifini kullanarak sağlayıcıları ev sahipliği yapıyor. Eğer kontrol bir kutunun üzerinde CMS barındırma ediyorsanız, bu sorun olmaz ama bir üçüncü taraf sağlayıcı kullanıyorsanız, ilk kontrol.

Orijinal poster olarak, ben imzalandı değildi, bu yüzden (bu kötü form ise özür dilerim) bir cevap bugüne kadar cevapları takip ediyorum.

  • There may instances where this is on a shared host.
  • Though the JSON files can technically be edited, this won't be the case. The admin interface will be robust enough to do all of the creating/editing of pages
  • The size for each install will be relatively small -- 1 - 2 admins, 10-100 pages. A few lists of common items may run longer (snippets of copy for example).
  • Security will be a big issue -- any other options suggestions on this specifically?

Eh, onlar herhangi bir veritabanı sistemi güvensiz olmak bir sorun var değil mi? Daha çok kendi düşünce teknoloji daha sorun değil mi? Onlara karmaşık geliyor çünkü belki onlar veritabanının korkuyorlar. Sadece onlara bazı çok basit CMS mevcut ise, bu durumda, onlar her şeyi kolay görürseniz o zaman sadece yok olabilir, (duydum ki, CMS basit yapılmış gibi gerçekten basit ve öğrenme süreci çok hızlı) Bir veritabanı veya ne olursa olsun eğer, arkasında ne umurumda!

Onlar daha iyi bakım, bakım düşük maliyetli, özel çözümlerin başka bir webmaster için çok daha iyi bir devir teslim (onlar size bağımlı değildir) vb argümanlar duyabiliyordu