sielay
26.06.2003, 17:38:28
Często zdarza się, że chcemy zrobić jakąś stronkę i użyć w niej prostej bazy. Zaoptrujemy się w konto z php, darmowe i staemy rpzed dwoma sytuacjami. Albo nie potrafimy używać MySQL albo go w ogóle nie mamy... Dodatkowo jeżeli nie potrafimy używać MySQL to bardzo prawdopodobne, że z napisaniem własnego silnika pracującego na tekstowej bazie danych też możemy mieć kłopot... no cóż. Nie każdy musi się znać, a stronki może robić każdy. Uważam, że zbudowanie narzędzia, które by w dawało ograniczony zasób funkcji do pracy z tekstowymi bazami byłby czymś w sam raz. Fakt, w przypadku zapisu i edycji taka baza jest wolniejsza i trudniejsza do opanowania, niż MySQL ale przy odczycie prawie się nie różni. A przecież początkujący webmaster stawia raczej na odczyt bazy niż jej edycję. Może nie jestem oryginalny, ale postanowiłem stworzyć taką "bazę" funkcji, którą ochrzciłem NoSQL. Narazie jest ona jeszcze w fazie raczkowania i składa się tylko z elementów odczytu, ale można ją przetesotwać na konsoli
http://tek-art.com.pl/sielay/nosql/console.php Nie jest to coś niesamowitego, ale szczerze zawsze będę miał miej roboty przy budowaniu kolejnych elementów pracujących natekstowych bazach, po drugie może się to przydać na małych, niekomercyjnych kontach... Jeżeli ktoś ma jakieś pomysły, sugestie, może chciały pomóc to proszę o posty... oczywiście NoSQL były freewarem bo jakże na licencji GNU.
DeyV
26.06.2003, 20:31:31
Mam pewien pomysł. Może okaże sie, że nie wszystko trzeba pisać od zera. BO byli już tacy, co sporo w tej kwesii zrobili...
Jest taki jeden bardzo dobry projekt,
http://sourceforge.net/projects/textdb niestety, mocno już zapomniany, i nie aktualizowany. A szkoda... Może Ci to się przyda, a może wystarczy tylko od¶wierzyć, rozbudować, przebudować to co jest?
sielay
26.06.2003, 20:59:27
wlasnie przeglam i zapowiada sie ciekawie... ale moge ewentulanie przegladnoc tylko pomysly, bo wole budowac sam od podstaw, bedzie stabilniejsze. chociaz juz mam duzo problemow i 70% pracy to badanie manuala php z www.php.net. Nie wiem, chyba niektore problemy zglosze tu na forum, bo nie chce mi sie szukac. Ale i tak praca ruszy pelna para po 1szym lipca, bo teraz mam egzaminy na studia. Problemow najwiecej jest przy budowaniu konsoli (w koncu jakas powinna byc), wkurza mnie to, czego akurat nie opisuje manual php (przynajmniej nie znalazlem), ze szfankuje funcja explode gdy jako znak rodzielajacy daje spacje, a przeciez by to tak ladnie pomoglo przy konsoli, byla by logicznie zbudowana... inna rzecz to, ze duzo czasu i planowania zajmuje obsluga errorow, ale to dobra rzecz, bo przynajmniej wiadomo gdzie jest blad, a komunikat silnika zawsze lepiej wyglada niz blad php, ktory moze wysypac cala strone... heh... przyblize wam jaki plan jest mniej wiecej w budowaniu nosql
1. rozbicie plik=>lista rekordow rekord=>komorki (zrobione)
2. funkcje wyswietlenia wynikow z tabeli,rekordu,komorki (zrobione)
3. prace na aktualnej tabeli (konsola, bo w samym silniku nie jest to konieczne)
4. grupowanie tabel przez plik indeksowy, wyznaczanie kluczy podstawowych, architekrura baz
5. edycja na tabeli
6. edycja na tabelach relacyjnych
7. praca na wynikach: sortowanie, filtroanie
najtrudniejsze beda wg mnie punkty 4,5 oraz 6. do 7 mam juz zrobione czesc funkcji, wiec to bedzie dostosowywanie
mam pytanie do was, chodzi o porade. gdybyscie mieli korzystac z takiego silnika to wolicie odwolywac sie do baz w sposob zblizony do konsoli, podobnie jak w mysql, np:
[php:1:030456339f]<?php
$wynik=nosql("get from $tabela imie=zenon");
?>[/php:1:030456339f]
czy poprzez odwolanie bezposrednio do funkcji, np:
[php:1:030456339f]<?php
$tabla=gtff("baza.txt"); /* get tabke from file*/
ec($baza,1,2); /*echo cell */
?>[/php:1:030456339f]
wg mnie ten drugi sposób, jest lepszy, bo to ty decydujesz jaka baza jest trzymana w pamięci i tak naprawdę nie ma konfliktu, gdy chcemy pracować naraz na klku bazach. W poprzednim przypadku i tak trzeba było by robić podobnie.
DeyV
27.06.2003, 02:01:17
wiesz - moze zanim zaczniesz na poważnie pracować nad tym systemem -postudiuj dokładniej założenia tamtego...
W textDb twórcy udało się, przynajmniej czę¶ciowo, stworzyć narzędzia stosowane pzy prawdziwych bazach. Tj. pseudo SQL, dodawanie i edytowanie wierszy, itp. a wszystko to, bez każdorazowego przeładowywania całego pliku, co, oczywi¶cie, jest procesem bardzo wolnym.
Tym bardziej, że nie wystarczy przecież wczytać całyego pliku - potem trzeba go jeszcze zapisać...
A tam np. taki manewr jak usuniętcie rekordu polega na oznaczeniu danego rekordu jako usunięty. Następnie, przy dodawaniu nowego w to miejsce sostaje on wpisany, lub uruchamiana jest funkcja czyszcz±ca, która robi porz±dek w plikach.
S± tam też indexy, sortowania itp. I jest to nawet całkiem stabilne - po pewnych przeróbkach udało mi się kiedy¶ postawić calkiem spory systemik.
ps. Explode dział± bezbłędnie, i to niezależnie od znaku, jaki został podany
sielay
27.06.2003, 12:56:53
ok, thx, wracam do tematu po 1szym, czyli po egzaminach... heh
sielay
2.07.2003, 03:13:49
fakt gosc zrobil nawet niezly model budowania i odczytu... tak samo z poleceniami sql, natomiast modl dodawania i edycji zostal nie dokonczony, a to wlasnie on jest nagorszy do zrobienia szczerze... hmmm.... musze zagladnac w kod, ale to jest jeszcze za malo...