[OT?] ARM -> Linux -> Baza danych

Witam,

Muszę w urządzeniu zaimplementować bazę danych.

Procesor to ARM9 Atmel AT91SAM9260 (200 MHz), 128 MB Flash, 64 MB SDRAM i karta SD 32GB. O systemie operacyjnym wiem tyle: "Customized Linux kernel based on

2.6.24 version" z systemem plików JFFS2.

Zadaniem bazy jest zbieranie danych napływających z prędkością ok.

300B/s oraz replikowanie się po łączu GPRS do centrali. Bardzo rzadko trzeba będzie odpowiedzieć też na jakieś zapytanie przeglądające pewnie całą bazę. Wielkość bazy to kilka miesięcy czyli 1G rekordów, lub 5GB danych.

Czy możecie mi doradzić w co się nie pchać w takiej konfiguracji? Jaką bazę i mechanizm replikacji wybrać, by mieć pewność, że będzie to działać poprzez GPRS, czyli łącze, które częściej znika niż jest dostępne.

Reply to
Andrzej W.
Loading thread data ...

W dniu 2011-02-09 11:28, Andrzej W. pisze:

Zaczal bym od szukania SDK do tego sprzeta. Polecam denx

formatting link

Reply to
Rysio

Pytanie troche nie na te grupe ale zasugeruje albo uzycie sqlite albo mysql. Zrozumialem ze tam bedzie prawie zwykly linux wiec i binarki bazy czy biblioteki beda dostepne "z pudelka". Nie napisales wiele na temat tego co ta baza bedzie robic ani jaki rodzaj danych bedzie przesylany. Cala baza ma sie replikowac po gprs? Jesli dane zbierane beda liczbowe to moze zobacz czy rrd ci podpasuje.

Reply to
ptoki

W dniu 2011-02-09 13:20, Rysio pisze:

Cytat z FAQ producenta: "Telit provides, free of charge, a complete Development Environment working under Microsoft Windows XP. The Environment consists of different Open Source Software: coLinux, Xming and Eclipse IDE. "

Reply to
Andrzej W.

W dniu 2011-02-09 15:20, ptoki pisze:

Zastanawiam się czy to nie za mocne na moje potrzeby.

Z binarkami na ARM9 to nie wiem czy będzie tak łatwo, ale myślę, że da się skompilować.

Masz rację, nie za dużo napisałem. Urządzenie ma czytywać dane z maksymalnie 30 czujników raz na sekundę. Będzie tego więc ok. 30 słów (30x16 bitów) na sekundę. Rekordy w bazie nie będą edytowane, tylko co jakiś czas usuwane (FIFO). Indeksy raczej nie są potrzebne, dane są zapisywane zgodnie z czasem ich powstania. Zamiast indeksów planuję dodatkowe bazy w których będę zapisywał wartość średnią, maksymalną i minimalną np. co minutę i co godzinę. Pozwoli to generować lokalnie wykresy bez konieczności przeglądania całej bazy danych.

Replikacja to właściwie nie w pełni trafne określenie. Po nawiązaniu połączenia urządzenie ma wysyłać wszystkie nowe dane do centralnego serwera. Transmisja musi być w pełni odporna na zaniki łączności.

Reply to
Andrzej W.

Andrzej W. napisał:

RRD -

formatting link
[ FUT: pl.comp.os.linux ]

Reply to
Daniel Podlejski

ale przy slabym polaczeniu nie liczyl bym na replikacje mysql, zwlasza gdy zerwie polaczenie podczas replikacji rekordu.

moze lokalnie cos w stylu rrdtool a replikacje zrobic za pomaca message queue (dowolnego typu)

c.

Reply to
Cezar

W dniu 09.02.2011 21:57, Andrzej W. pisze:

To może skoro dane mają określony rozmiar to jeden duży plik zawierający na początku opis w którym rekordzie "zaczyna się" baza a potem kolejne wpisy?

proponuję się przyjrzeć RRDtools

rsync?

Reply to
Michoo

W dniu 09.02.2011 11:28, Andrzej W. pisze:

Jeśli to linuks i da się na tym postawić mysql to bym spróbował. Mechanizm replikacji dobrze udokumentowany i równie dobrze działający.

RK

Reply to
Ronald Kuczek

W dniu 2011-02-09 22:56, 4CX250 pisze:

Do sześciu miesięcy minimum. Przy czym dane mogą być wcześniej usuwane na żądanie centrali. Z tym FIFO, to chodziło mi o to, że nie można usunąć rekordu ze środka bazy. Można tylko usuwać rekordy od pierwszej pozycji do ntej.

Reply to
Andrzej W.

W dniu 2011-02-09 23:35, Andrzej W. pisze:

Jak masz zamiar kompilowac binarki ?

Reply to
Rysio

Użytkownik Ronald Kuczek napisał:

Hmm, patrzyłeś na specyfikację sprzętu? "ARM9 Atmel AT91SAM9260 (200 MHz), 128 MB Flash, 64 MB SDRAM" jak się zachowa ta baza na tym? Szeczególnie mało RAMu.

W.P.

Reply to
W.P.

Dobrze bedzie. Zobacz sobei cos co nazywa sie zaurus. Tam pelne GUI na X ach dziala dosyc dobrze razem z programami na tym. Nie panikujmy.

Reply to
ptoki

Bedzie w sam raz jesli jest to pojedyncze urzadzenie. Masz ten komfort ze mozesz skupic sie na wysokim poziomie czyli nie pisac w asemblerze odkrywajac kolo od nowa albo uzywajac cudzych bibliotek (co tez powoduje czesciowe odkrywanie kola). Jesli sie da to uruchom na tym tego linuxa i wrzuc tam baze. Binarki ma np. ubuntu i debian. Nie pisze juz o binarkach starszych armow (np zaurus czy inna nokia i takie tam).

nie musza byc na arm9 starsze tez pojda bez problemow (raczej bo pewny nie jestem).

Mysql sie do tego nada. Co prawda bardziej do tego jest rrd ale mysql ma pewne zalety.

Tym bardziej rrd ale przemysl moze zbudowanie calosci tak ze ten arm tylko bedzie zbieral dane i ewentualnie jakies wykresy generowal z nich na zadanie. A kasowanie i zarzadzanie baza zrob zdalnie. I sie normalnie podpinaj do tego mysql-a.

Zarzadzanie zdalne zrobi ci to bez problemu. Ale jesli chcesz mozesz to wszystko zakodowac w C na poziomie samego arm-a :)

Ja bym poszedl droga wysoko poziomowa bo to daje szybszy rezultat. Ale jak nie chcesz bazy to bez problemu rrd ci tez da rade. Poczytaj o funkcjach agregujacych w nim i jak dziala. Tylko wez pod uwage ze rrd moze (nie musi) dosyc mocno obciazac flash.

W przypadku mysql-a mozna to obejsc kasujac dane pozno wtedy fifo bedzie dosyc dlugie.

Reply to
ptoki

Nie panikuję, pytam. Najlepiej bazodanowca.

Pamiętam, że P75 + 32(!!) M RAMu + X to była niestety porażka... Nie dało się działać.

W.P.

Reply to
W.P.

eee tam. Ja mialem 16 i bylo ok. Byle powylaczac niepotrzebne serwisy. Ale na 8 to juz makabra byla. Poza tym na tym armie watkotworcy nie bedzie X-ow. A jak dobrze system przytnie to prawie cala pamiec pojdzie na bufory i baza dosyc zwawo bedzie chodzic. A na te prosta funkcjonalnosc jaka zaprezentowal to spokojnie. Dzis sie bawilem sklepem internetowym wlasnie na mysql +php+apache+X

+gnome+co tam jeszcze ubuntu ma na maszynie z 800Mhz armem i 512MB ram. W tle leciala mp3 i jeszcze pare okienek bylo otwarte. Sklepik nie byl moze blyskawiczny ale w FF (na tym samym urzadzeniu) chodzil ok. To tak z moich doswiadczen.
Reply to
ptoki

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.