Prosta baza danych dostępna w C

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
arturromarr
Beginner
Posty: 186
Rejestracja: 14 sierpnia 2015, 01:21

Prosta baza danych dostępna w C

Post autor: arturromarr »

Witam,
Programuję trochę w C pod linuxem (gtk). Coraz bardziej brakuje mi jakiejś bazy danych ale do tej pory jeszcze nie obsługiwałem żadnej.
Jestem raczej amatorem więc nie poznam kilku baz tylko skoncentruje się na jednej stąd moja prośba do osób mających doświadczenie w temacie.
Wiem, że nie ma idealnych i uniwersalnych rozwiązań ale proszę o wszelką pomoc w wyborze najodpowiedniejszej dla mnie bazy danych.
-Po pierwsze chcę aby baza była dostępna na Linux-sie (to oczywiste).
-Najlepiej jakby dopuszczała również komercyjne zastosowania (ze wstępnego rozeznania tematu z popularnych zaliczają się: PostgreSQL, Firebird, SQLite )
-Piszę pod zwykłym C więc powinna mieć mechanizmy (biblioteki) pozwalające na dostęp z poziomu tego języka.
-Fajnie jakby była dobrze opisana w necie (poradniki, tutoriale, przykłady).

Starczy koncertu życzeń. :) czy jest coś co się chociaż ociera o te wytyczne? Proszę o wszelkie podpowiedzi czym się różnią w praktyce pomiędzy sobą bazy.

Pozdrawiam
Awatar użytkownika
lizard
Beginner
Posty: 287
Rejestracja: 08 lutego 2016, 18:47

Re: Prosta baza danych dostępna w C

Post autor: lizard »

Wszystko zależy od ilości danych jakie zamierzasz przechowywać w bazie oraz mechanizmów wewnętrznych systemu bazodanowego, które będą Ci potrzebne. Dla niewielkiej ilości danych lokalnych SQLite będzie odpowiednia. Do zastosowań rozproszonych (wielu użytkowników korzystających z różnych komputerów) zdecydowanie coś z obsługa sieci. Tutaj dobrze sprawdzi się PostgrSQL. O Firebirdzie się nie wypowiem, bo nie znam tego systemu.
Awatar użytkownika
arturromarr
Beginner
Posty: 186
Rejestracja: 14 sierpnia 2015, 01:21

Re: Prosta baza danych dostępna w C

Post autor: arturromarr »

Mam podpięty sterownik pod komputer i potrzebuję rejestrować kilkadziesiąt zmiennych dwubajtowych na sekundę.
Zależy mi na łatwości obsługi bazy, dostęp z jednego programu.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Prosta baza danych dostępna w C

Post autor: LordRuthwen »

Redis
Awatar użytkownika
lizard
Beginner
Posty: 287
Rejestracja: 08 lutego 2016, 18:47

Re: Prosta baza danych dostępna w C

Post autor: lizard »

A ta baza ma przechowywać dane w jednej tabeli i jednej kolumnie, bo tak wynika informacji?
Awatar użytkownika
arturromarr
Beginner
Posty: 186
Rejestracja: 14 sierpnia 2015, 01:21

Re: Prosta baza danych dostępna w C

Post autor: arturromarr »

Nie wiem jak się przechowuje dane w bazach, czy to jest na zasadzie tabel w arkuszu kalkulacyjnycm?
Czy bazy różnią się na tyle że ma to znaczenie ile potrzebuję kolumn? Chcę wybrać bazę również do przyszłych projektów więc powinna dawać możliwości wielu kolumn niezależnie od obecnego projektu.
W tej chwili mam z jednej strony kilkadziesiąt zmiennych a z drugiej czas. Czy czas jest parametrem czy jest standardowo przypisywany do rekordu?
Czy któraś z baz wyróżnia w łatwości w obsłudze (sterowniki, biblioteki) w C pod Linuxem?
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Prosta baza danych dostępna w C

Post autor: LordRuthwen »

No to w takim razie, proponuję Ci poczytać najpierw jak działają bazy i jak przechowują dane, bo bez tej wiedzy i tak nic nie będziesz w stanie zrobić. Z poziomu C można spokojnie używać MySQL-a i PGSQL.
Awatar użytkownika
arturromarr
Beginner
Posty: 186
Rejestracja: 14 sierpnia 2015, 01:21

Re: Prosta baza danych dostępna w C

Post autor: arturromarr »

Dokładnie tak, chcę poczytać o bazach, tylko chciałem się zagłębić już w jakąś konkretną stąd moja porśba w tym poście.
MySql wolałbym odrzucić ze względu na kontrowersję w komercyjnym wykorzystaniu kodów na licencji GPL. Tearaz przedemną nauka, ale może kiedyś trafią się komercyjne projekty.
Jakie narzędzia (sterowniki, biblioteki) służą do skomunikowania się z PGSQL z poziomu C w Linux-sie?
Awatar użytkownika
lizard
Beginner
Posty: 287
Rejestracja: 08 lutego 2016, 18:47

Re: Prosta baza danych dostępna w C

Post autor: lizard »

arturromarr pisze:Nie wiem jak się przechowuje dane w bazach, czy to jest na zasadzie tabel w arkuszu kalkulacyjnycm?
W dużym uproszczeniu tak jest. Tylko ten arkusz nazywany jest skoroszytem (wg nazewnictwa Microsoftu) i posiada więcej arkuszy. Dodatkowo istnieje możliwość tworzenia powiązań (relacji) pomiędzy arkuszami, aby nie przechowywać tych samych danych w wielu miejscach.
arturromarr pisze:Czy bazy różnią się na tyle że ma to znaczenie ile potrzebuję kolumn? Chcę wybrać bazę również do przyszłych projektów więc powinna dawać możliwości wielu kolumn niezależnie od obecnego projektu.
Jak każde oprogramowanie, systemy zarządzania bazami danych mają swoje ograniczenia, lecz są one na takie, że raczej nie uda Ci się ich osiągnąć.
arturromarr pisze:W tej chwili mam z jednej strony kilkadziesiąt zmiennych a z drugiej czas. Czy czas jest parametrem czy jest standardowo przypisywany do rekordu?
Myślę, że tutaj lepiej sprawdzi się zwykły plik (nawet tekstowy). Baza danych to strzelanie z armaty do komara. Czas musisz zapisywać w bazach ręcznie, nie jest on dodawany automatycznie podczas dodawania rekordu.
LordRuthwen pisze:No to w takim razie, proponuję Ci poczytać najpierw jak działają bazy i jak przechowują dane, bo bez tej wiedzy i tak nic nie będziesz w stanie zrobić. Z poziomu C można spokojnie używać MySQL-a i PGSQL.
Święte słowa. :)
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Prosta baza danych dostępna w C

Post autor: LordRuthwen »

ODPOWIEDZ