2009-10-02 11 views
8

Mam zamiar zbudować nowy osobisty blog/stronę portfolio (która będzie napisana w ASP.NET), i mam zamiar uruchomić go przeciwko bazie danych SQLite. Istnieje kilka powodów:Czy mogę/powinienem uruchomić moją witrynę internetową na bazie danych SQLite?

  1. Witryna nie będzie się dużo ruchu, az tego co czytałem, SQLite jest w stanie obsługiwać dość wiele jednoczesnych użytkowników do czytania anyway
  2. mogę wykonać kopię zapasową całej zawartości łatwo, po prostu pobierając db przez FTP
  3. nie muszę płacić mojego hostingu firmę co miesiąc do ogromnej bazy danych SQL2008, że jestem prawie za pomocą

Więc, czy powinienem spróbować, czy jest to szalony pomysł?

Odpowiedz

3

Nie jestem taki pewien co do 2 (co się stanie, jeśli SQLite wprowadzi zmiany do pliku podczas odczytu go przez program FTP?), Ale poza tym nie ma powodu, aby preferować jeden DB zamiast drugiego (chyba że jeden z tych DB nie może zrobić tego, czego potrzebujesz).

[EDYCJA] Użyj pliku online backup, aby utworzyć plik do pobrania przez FTP. To sprawi, że zawartość pliku będzie nienaruszona.

Jeszcze lepiej, dodaj stronę (z hasłem) do witryny, która tworzy plik za naciśnięciem jednego przycisku, aby Twoja przeglądarka mogła go pobrać.

+1

Czy możesz zmniejszyć szanse tego, najpierw kopiując plik na serwerze? –

+0

Widzę twój punkt - co może spowodować, że SQLite wprowadzi zmiany inne niż aktualizacje danych (jeśli w ogóle)? –

+1

@ Mark B - Czy Twój blog zawiera komentarze? W przeciwnym razie jestem dość pewny, że SQLite nie wprowadza żadnych zmian, chyba że wstawisz/zaktualizujesz/usuniesz dane. –

2

Jest to dobre rozwiązanie w przypadku witryn o małym natężeniu ruchu, o ile generuje głównie ruch w trybie odczytu. Gdyby to był ja, użyłbym SQL Compact Edition (te same korzyści co Sqlite - pojedynczy plik, brak serwera), tylko dlatego, że jestem LINQ-head, a dostawcy LINQ są "w pudełku", ale Sqlite ma przyzwoitą bibliotekę LINQ i zarządzane wsparcie. Upewnij się, że twoja firma hostingowa zezwala na niezarządzany kod lub że korzystasz z zarządzanego portu Sqlite (nie wiesz jednak o jego obecnej stabilności).

+0

Dobra sugestia - na pewno zagłębię się w SQL Compact Edition, ponieważ to byłoby po prostu przyjemne. –

1

SQLite poradzi sobie z tym łatwo - idź do niego.

1

Należy sprawdzić, ale myślę, że wersja Express SQL 2008 jest bezpłatna. W każdym razie pracowałem z SQLite w środowisku .NET i działa całkiem dobrze (ale nie zrobiłem żadnego testu obciążenia). A jeśli nie jesteś jeszcze zdecydowany, nadal możesz korzystać z dostawcy LINQ, który pozwoli Ci później przełączyć się z jednej bazy danych na inną bez przepisywania kodu SQL (na przykład do DbLinq). Jeśli planujesz utworzyć kopię zapasową bazy danych, najpierw upewnij się, że nie jest ona używana.

0

Powiedziałbym, że nie. Po pierwsze, nie wiem, z jakiego dostawcy korzystasz, ale z moim dostawcą (goDaddy), jest to dość tanie za 2,99 USD miesięcznie. Otrzymuję 1 serwer bazy danych db i 10 plików mb dysku.
Nie wiem, ile to kosztuje.

Po drugie, po co ryzykować? Większość planów dostawców zawiera przynajmniej bazę danych MySQL. Możesz to połączyć.

+0

Jestem z DiscountASP.NET (poprzez wiele rekomendacji) i jestem całkowicie zadowolony z usługi, więc nie będę się ruszał. Jednak nie obsługują MySql, a bazy danych MS, które obsługują, kosztują od 5 £ do 10 £ miesięcznie - przy założeniu, że nie ma dużo gotówki, ale po co płacić, jeśli nie muszę? –

+0

To naprawdę drogie. Tak, jeśli to tylko strona z hobby o niskiej głośności, nie szkodzi próbować. – AngryHacker

1

Zasada jest taka, że ​​jeśli witryna może działać na jednym serwerze , wówczas SQLite jest wystarczający.To jest to, co twórca SQLite, D. Richard Hipp, powiedział przy około 13 min. 30 sekund do episode 26 z podcastu FLOSS Weekly .

(plik MP3, 24 MB, 51 min 15 s).

1

SQLite odpowiedzieć na to pytanie dla Ciebie:

http://sqlite.org/whentouse.html

niskiej średniej objętości = porządku, duża ilość = Nie używaj go

w przypadku jego -ok używać SQLite

-2

Czy używasz dowolnej funkcji SQL? SUMA, AVG, SORTUJ PRZEZ, itp., Jeśli tak, użyj SQLite. Jeśli nie, po prostu użyj zwykłych plików txt do przechowywania danych. Upewnij się także, że baza danych znajduje się poza folderem httpdocs lub nie jest dostępna w Internecie.

+1

zwykły tekst? cokolwiek napiszesz, jako twoja funkcja przechowywania danych, szanse są wysokie, będzie to zdecydowanie wolniejsze niż sqlite. –

+0

Nie chciałem przechowywać danych w pliku txt do pobierania. Powiedzmy na przykład, że masz prosty licznik dla odwiedzających, zamiast korzystać z bazy danych, możesz po prostu użyć pliku txt o nazwie visits.txt i zapisać 1 w nim . Przy każdej nowej wizycie, po prostu zwiększ 1 do pliku i zapisz go. Oczywiście jest to o wiele szybsze, jeśli dostaniesz okazjonalnych gości. – Pasta

1

Generalnie tak.

Należy jednak pamiętać o tym, że SQLite nie obsługuje wszystkiego, do czego przyzwyczailiście się z "prawdziwego" DBMS. Na przykład. nie ma żadnych ograniczeń, takich jak klucze obce, unikalne indeksy i tym podobne, a AFAIK niektóre (bardziej zaawansowane) typy danych nie są dostępne.

Należy sprawdzić różne ograniczenia here i here. Jeśli możesz się z tym pogodzić, nie ma powodu, aby nie używać SQLite.

Powiązane problemy