Adatbázis kezelés - alapvető kérdések
2016-07-28T07:08:20+02:00
2016-07-28T08:45:36+02:00
2022-07-19T03:42:30+02:00
  • Én a helyedben nem egyből adatbázisba tölteném az adatokat, mivel nem real-time kellenek, ha jól értem. Így nagyon sok hibalehetőségtől és macerától mented meg magad. Pl: ha leáll az adatbázis kezelő szerver, akkor nem tudsz beleírni, mi lesz azokkal az adatokkal? CSV-be meg jó eséllyel addíg tudsz írni, amig van hely a diszken.

    Szerintem mehetnének továbbra is CSV-be az adatok, és majd azokat lehetne betölteni az adatbázisba, így nem vagy adatbáziskezelőhöz sem kötve, viszonyag könnyen válthatsz, ha a kiválasztott nem jön be.
    További előnye a CSV meghagyásának, hogy Te szabod meg, hogy hány szálon dologzol. A másik esetben ez a PLC gépek száma lesz, ami sok PLC gép esetén nem biztos, hogy optimális teljesítmény fog hozni.
    Összegezve, szerintem neked egy OLAP jellegű adatbázisra lesz szükséged, ahol a CSV egyben való betöltésével jobban járnál, mintha real-time töltenéd be az adatokat egy OLAP db-be.

    Adatbáziskezelőt tudsz hálózaton keresztül használni, tehát nem kell minden gépre telepítened. Nem is ajánlott minden gépre, mert nemigazán leszel előrébb a csv-s módszertől.

    Én első helyen MySQL adatbázis kezelőt javasolnám, betöltésre pedig a LOAD DATA INFILE parancsot (MySQL :: MySQL 5.7 Reference Manual :: 14.2.6 LOAD DATA INFILE Syntax)
    Ez "ingyenes", nincsenek hardware korlátok, elég jól kiforott, vannak hozzá jól használható toolok, rengeteg infó van hozzá a neten, megy Linuxon és Windowson is.

    Bármilyen adatbázis kezelőt is választasz, a jól megtervezett schema a legfontosabb. De ez egy másik téma, eljutsz idáig célszerű lehet majd egy tudástár topicot nyitnod, ha nem vagy jártas a tervezésben.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

      Ezt a témát, vagy legalábbis hasonlót vetettem már itt fel néhány hónapja. Remélem, nem nagy baj, ha még egyszer felteszem az ehhez kapcsolódó kérdéseimet - most egy kicsit más szemszögből. (Azóta nem történt semmilyen előrelépés ez ügyben.)
      Ami adott: Windows 7 és Lazarus fejlesztőkörnyezet. (Kérlek ne akarjatok másikra rábeszélni, ehhez értek csak, ehhez is csak egy nagyon kicsit.) Van 7 darab eszköz, amelyekkel a számítógépem kommunikál (ezek PLC-k, azaz ipari vezérlő egységek). A kommunikáció része már működik a programnak. (Legalábbis több-kevesebb sikerrel.) A kommunikáció során adott időközönként (mondjuk 4 másodpercenként) az összes adat lekérdezésre kerül a vezérlőkből. Ezek vegyes adatok, szinte minden fajta megtalálható bennük: kétállapotú jelek, 16 és 32 bites előjeles és előjel nélküli számok, illetve néhány szöveges adat. (Egy-egy szó, ami egy adott berendezés üzemállapotára utal. Pl.: "VISSZAMOSÁS" vagy "KÉSZENLÉT")
      Ezeket az adatokat kellene egy adatbázisba gyűjtenem! Az én oldalamról az adatok között összefüggés annyi van, hogy minden sor elejére kerül egy időbélyeg, hogy mikor történt a lekérdezés, utána pedig jönnek az adatok. Tehát egyéb reláció, összefüggés, függőség (nem tudom, hogy hívják ezt pontosan adatbázisokra vonatkozóan) nincs! Jönnek az adatok sorban, ugyanilyen sorrendben pedig el kellene őket menteni! A lényege nyilván az a dolognak, hogy majd a későbbiekben (vagy menet közben) ezeket az adatokat szeretné majd valaki használni. (Egy másik cég nézegeti ezeket, mindenféle megfontolásból. Pl. statisztikákat készít, átlagokat számol, visszakeres bizonyos eseményeket, hogy mikor történtek stb.)
      Jelenleg az adatokat csv formában mentem el én, azért hogy azután bármilyen adatbáziskezelőbe be lehessen importálni. Persze nincs akadálya, hogy a csv-t kihagyva egyből adatbázisba legyen minden mentve. (Vagyis én vagyok az akadálya, mert nem tudom, hogy hogyan kell ezt csinálni. :D )
      Láttam a Lazarusban, hogy vannak benne SQL objektumok, de nem tudom, hogyan kell őket használni és hogy pontosan mire is jók...

      A kérdéseim az alábbiak lennének: amikor elmentem a beolvasott adatokat, akkor már tudnom kell-e, hogy milyen adatbáziskezelővel lesznek használva? Vagy létezik olyan adatbázis formátum, amit bármelyik adatbáziskezelő később tud kezelni, olvasni? Olyasmire gondolok, mint a csv formátum, tehát ami "univerzális". 

      Ahhoz, hogy az adatokat elmentsem valamilyen adatbázis kezelő által használható formátumba, mindenképpen szükséges-e adatbázis kezelő motort (vagy minek hívják) telepíteni az adatokat rögzítő gépre?

      Ha tud valaki ajánlani valamilyen jól használható rövid, tömör leírást a témában akár magyarul, akár angolul, azt is megköszönöm!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd