Adatbázis: SQL, XML DB

SQL lekérdezés gyorsítás

Sziasztok!
Egy cégnél dolgozok, ahol több telephely van. Adott egy központi adatbázis, több mint 2 gigabyte, és ebből a módosult sorokat szinkronizálja a rendszer a különböző távoli telephelyekre. A távoli adatbázisok 6-700 mega körül vannak maximum.
A központi telephelyen vezetékkel és vezeték nélkül is csatlakoznak a hálózatra, viszont itt a 2 gigás adatbázisból dolgozunk.
A problémák a következőek:
-Egy-egy lekérdezés még helyi hálózaton is sok idő, átlagosan 3-4 perc, valamint a 160 ezer feletti sorból álló cikktörzs 7-8 perc.
-Nyilván a programozónak kellene javítani, hogy ne az egész sql táblát kérje le, de erre egyelőre nincs mód.
A kérdésem a következő:
-Hogyan lehetne felgyorsítani hardver szinten a folyamatot?
-A szerver vinyója egy 15k-s hp, esetleg egy ssd gyorsítana?
-Jobb hálózati infrastruktúra javítana? Ha igen, milyen?

Köszönet!

[Megoldva]PostgreSQL pg_dump tömörítés?

Sziasztok!

Történetem ott kezdeném, hogy kezeim közé kaptam egy freebsd feelinget, PostgreSQL adatbázissal amit át kell helyeznem egy új debian disztrón futó PostgreSQL -be.
Idáig semmi gond.
pg_dump -al kezdtem neki a dolognak. Elsőként egy 80GB -os adatbázissal kezdtem amiből pg_dump -Fc kapcsolóval kitolt egy 2,xGB -os sql fájlt.
pg_restore -al állítanám vissza.

A kérdésem az lenne, hogy ez mennyire normális :D Arra gondolok, hogy 80GB -ból 2GB?
Nem vagyok nagy DBadmin szóval csak óvatosan a kérdésekkel :D

Ha ez így para, akkor lehet megoldás a pg_dumpall? Azért nem vele kezdtem mivel mivel ha ő nem tömörít akkor valószínűleg nem lesz elég hely a vason.

Előre is köszönöm a segítségeket.

[Megoldva]MySQL 5.0 -> 5.5

Sziasztok!

Hozzám került egy MySQL adatbázis amit rendbe kéne raknom. Nem dump, hanem a /var/lib/mysql-ből egy teljes könyvtár. Próbáltam megetetni egy MySQL 5.5-el, de nem működik. Az adatbázist látszólag megtalálja, de a neve elé tesz egy #mysql50# prefixet. Ez állítólag azt jelenti, hogy ez egy 5.0-ás adatbázis.
Összeolvastam mindenfélét. Úgy tűnik, hogy előbb 5.1-re kell alakítani, majd mehet 5.5-re.
Vagyis fel kéne tennem pl. virtualboxba valami régebbi Linuxot 5.0-ás MySQL-el, aztán upgradelni 5.1-re.

A kérdés az, hogy miként tudom ezt megtenni a lehető legkevesebb macerával? Elsőre Fedora 17-18 környékét nézegettem, de mysql-server-ből nem találok 5.0-ás csomagot.

Vagy ha van más megoldás az is érdekel.

Kösz:
-----
miles

Rendelkezésre állási időtábla tárolása adatbázisban

Hello mindenki,

a segítségeteket szeretném kérni a következő megoldására: különböző felhasználók rendelkezésre állásának az időtábláját kellene eltárolnom MySQL-ben. Az a helyzet, hogy 63 darab igen / nem mező van, amin nem tudok egyszerűsíteni. A felületen ixelhetőek a külöböző időablakok egy táblázat formájában. A tábla felső fejlécében a Hétfő, Kedd, Szerda, Csütörtök, Péntek, Szombat és Vasárnap oszlopnevek szerepelnek, a táblázat bal leírásában pedig 06-08, 08-10 .. 20-22, 22-24 óráig a mezők. Ez 7×9 = 63 pipálható mezőt jelent (24 órától hajnal 06-ig nincs bejelölhető ablak). Ennek az esetnek a tárolását kellene megoldanom adatbázisban.

Eddig egy ötlet merült fel, mégpedig, hogy létrehozok minden naphoz egy táblát, amelyekben lesz 10 darab oszlop: userID, elsoAblak, masodikAblak .. kilencedikAblak. Azt gondolom, hogy ennél azért van szofisztikáltabb megoldás is, de én még nem jöttem rá.

Segítségeteket előre is köszönöm!

[MEGOLDVA] Keresd a hibát!

Adott a következő MySQL tábla az alábbi adatokkal: http://pastebin.com/V0bujAhD

Hogyan keressük meg azokat a sorokat, amelyek nem jó helyen vannak, ha az ID értékek szigorúan egymás után következnek úgy, hogy a hozzájuk rendelt dátum is egymás után kell következzen?

HINT:
A fenti példában a 343 és 352 nincsenek a helyükön, (2014-01-17 helyett 2014-01-16-on vannak), de előfordulhatnak egyéb anomáliák is.

Külső segédszkriptekkel meg tudom keresni, viszont van-e esetleg erre tiszta mysql megoldás?

Megoldás:

SELECT DISTINCT
t1.*
FROM
ttt t1 INNER JOIN ttt t2
ON t1.id>t2.id
WHERE
t1.datum<t2.datum

A Pastebines adatok sajnos nem frissek, abban nincs hiba. :)

[Megoldva]Triviális kérdés - select eredményében adatszámlálás)

Mivel eredendően síkhülye vagyok az sqlhez, de szükséges néha ezt-azt lekérni, segítséget szeretnék kérni. Van általam írt select, ami működik, visszadja a szükséges táblát. E táblában szeretném megszámoltatni, hogy az egyik sorban hányféle adat található. Gondolom a count(distinct adat) -t kellene használnom, de eddig nem sikerült belecsempésznem úgy, hogy szintaktikailag (is) jó legyen.

A select valami ilyesmi:

select u.mezo1, u.mezo2, s.mezo4, k.mezo2 from base1 u join base2 k on u.mezo1=k.mezo2 join base3 s on s.mezo3=k.mezo3 where "feltétel hegyek" :)

A mezo1-t szeretném megszámolni, hogy mennyi féle adat van benne. Szóval valami olyasmi kellene (totál hibás sql szintaxissal), hogy

select count(distinct mezo1) from a fenti select által visszaadott eredmény. Össze kellene fűzni a selecteket valahogyan. Próbálkoztam a select .... in -formával, de ott is elrontok valamit.

Előre is köszi.

Firdbird vs win

Szisztok!

Egy kis segítséget szeretnék. Win server alól Ubuntu alá vinném át az adatbázist restore/backup megvolt.
/data könyvtárban a fájl létrehozva, rwx jogok beállítva, tulaj/csoport firebird/firebird. Win7 alól mégsem látja.
Már egy hete szenvedek, de semmi.Tudna valaki segíteni?

Előre is köszönöm!

Drupal 6 törölt node viszsaállitása

Üdv,

Történt, hogy töröltem pár node-t Drupal 6-ban. Ezt szeretném visszaállitani, van is db mentésem, csak azt nem tudom, hogy pontosan mit is kellene visszaállitanom.

Az egész DB-t nyilván nem fogom felülcsapni, mert van már bent új adat.

Amit tudok a törölt adatokról:
A "uid", amin közzé lettek téve.

Hol tudnám ezt kulturáltan megoldani, hogy a node és a hozzá való commentek is visszakerüljenek a helyükre?