Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 30 odgovora
  • 7.857 pregleda

Najnovija ↓

Re: Baze podataka - generalna pitanja 26.01.2005. u 02:18 · pre 264 meseca #22
Citat:

Ako baza treba imati vise od dva-tri korisnika, zaboravi desktop baze kao Paradox, Access i sl. Ne mozes nedostatke baze sakriti sa App serverima i slicnim dodacima. Sto vise, negde gore bio je neki decko koji je tvrdio da 150K korisnika pristupa paradox bazi i da ima svoj metod zakljucavanja baze. Baza ima ono sto ima, ti nemozes dodati ili oduzeti metode zakljucavanja. Valjda je covek mislio da ima 150K slogova sa korisnickim nalozima, posto 150K konkurentnih usera je previse i za oracle na 16 procesorskom sistemu (spekulacija).


:)

Kad sam napisao "korisnici" nisam mislio ni na broj konkurentnih korisnika baze a ni na broj slogova u tabeli usera, vec broj recorda u glavnoj tabeli korisnika (kablovske televizije), kojoj moze da se istovremeno da se pristupa sa nekih 20-ak lokacija (sto je sigurno vise od 2-3:), a ni uopste nisam tvrdio da imam "neki svoj metod zakljucavanja baze", nego samo cisto programski resen problem istovremenog pristupa i izmene baze od strane tih 20-ak korisnika, pri cemu se razlikuju nivoi pristupa i izmene baze u zavisnosti od nivoa usera koji pristupa bazi. Ideja je u TCP/IP komunikaciji za izmene na bazi pri cemu se samo izmene salju preko socketa, a server posle "natenane" primenjuje te izmene i dostavlja nazad (opet preko TCP/IP-a) izvestaj o uspehu onom useru koji vrsi izmenu, a ostale usere (transparentno) obavestava da se baza izmenila i (opet transparentno) preuzimaju se samo izmenjeni recordi. Korisnicki kompovi dok klijent program radi imaju svoju bazu lokalno koja se podudara sa serverskom (naravno, nisu svi recordi dostupni svima, zavisi od nivoa pristupa).
Verovatno za neku jacu svrhu da bi mi mozda i bio potreban neki od DB servera, ali za ovo mi je opisani metod sasvim dovoljan, imam punu kontrolu nad finesama koje mogu da isksrnu, i sto je najbitnije za sada jako lepo radi (jos uvk u test fazi :)

Btw., izvinjavam se zbog onakvog reagovanja, nesto mi nije bio dan. U sustini nemam nista protiv DB servera, moj je problem sto volim tradicionalne metode.
Re: Baze podataka - generalna pitanja 26.01.2005. u 16:18 · pre 264 meseca #24
okej, jel mozemo malcice da se vratimo na temu :)
napravio sam access bazu i pristupam joj sa ADOTable, bla, bla.
sve to radi okej.
posto nemam mrezu ne mogu trenutno da testiram da li radi tako, ali sam probao recimo da pokrenem dva programa u isto vreme. i recimo u jednom dodam slog, a drugi ne "vidi" to sve dok ih oba ne iskljucim i ponovo izvrsim jedan...jel moze to da se resi i jel ce tako biti i preko mreze?
Potpis
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
Re: Baze podataka - generalna pitanja 26.01.2005. u 17:40 · pre 264 meseca #25

Citat:
...recimo u jednom dodam slog, a drugi ne "vidi" to sve dok ih oba ne iskljucim i ponovo izvrsim jedan...jel moze to da se resi i jel ce tako biti i preko mreze?


Odgovor je verovatno potvrdan. Ne koristim access, ali ovde je problem sa transakcijama.

Transakcije shvati kao nesto normalno. To baza radi da bi zastitila integritet podataka. Za operacije INSERT, DELETE, UPDATE je potrebna potvrda. To se zove COMMIT kako god da je pisano. Ali mozda nije dovoljno.

Zamisli da radis obradu na recimo 10000 slogova i nestane struje posle recimo obradjenih 8000 slogova. Sta ce baza da ti prikaze kad se digne? Verovatno stanje pre obrade, recimo prethodno regularno stanje.

Inace kad korisnik pristupi bazi on vidi trenutnu "sliku" podataka i radi s njom. Kad nesto promeni, onda potvrdi promene i tada drugi mogu to da vide. Ali, kako i drugi rade sa "slikom", da bi videli podatke koje je neki drugi korisnik promenio potrebno je osveziti "sliku". Ovo je mozda najvise izrazeno u Formi.

"Slika" su podaci koji su aktuelni u tom trenutku, pa se nadju u baferu, i sa tim radi korisnik. Ovo ni u kom slucaju nije VIEW.
Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Re: Baze podataka - generalna pitanja 26.01.2005. u 17:44 · pre 264 meseca #26
Mislim da sam shvatio sta covek (koji je postavio) temu zeli.

session.NetFileDir:=ExtractFilePath(Application.ExeName);

Zatim na serveru sharing-ujes folder gde ti je baza i exe, a na drugom kompu taj folder mapiras kao da je njegov. izvuces ikonicu od exe-a ili nemoras i to radi.

Sto se tice paradoxa treba ti na racunarima DBengine (BDEinst.dll) imas ga negde na prvom Delphijevom disku. Kpiraj ga u Windows-System. U Start-run kucaj regsvr32 BDEInst.dll i to je to.

Ovo je verovatno sve amaterski ali radi takve poslove sa dva tri racunara.
Re: Baze podataka - generalna pitanja 27.01.2005. u 10:40 · pre 264 meseca #28
@bacika:
Access:

- Mozes pristupati .mdb bazi na svakom PC-ju na kome prebacis aplikaciju, kod svih modernih Win varijanta (xp/2K) imas MDAC i nemas potrebe od dopunske instalacije.
- Broj konkurentnih usera ne moze biti klasa velicine FB-a. Valjda vise od 10-tak i vec bi imao poblema.
- Laka adaministracija, laki dizajn baze

FB:
- moras instalirati server, ili nositi sa sobom embedded varijantu (embedded nije multiuser)
- Imas nativne komponente u delphiju
- Malo komplikovanija administracija i dizajn


Sve ovisi o tome sta zelis raditi. Ako radis multiuser aplikaciju preko mreze, onda FB. ako radis desktop applikaciju onda Access. I FB embedded moze da obaviti posao kao desktop, i ne trebas nista instalirati a imas sve sto ima i FB server. Ako se pocinje sa desktop app, koja bi kasnije porasla a firma vec radi sa MS SQL server, onda valjda opet access, posto je migracija sa Access na MS SQL veoma laka.
Potpis
People who think they know everything tend to irritate those of us who do.
Re: Baze podataka - generalna pitanja 27.01.2005. u 11:01 · pre 264 meseca #29
Citat:
sasas: Imam utisak da se nismo razumeli...
mislio sam na koriscenje transakcija u npr. ovim slucajevima:

2. ili recimo kad su npr. tabele Employees i EmployeeWorkHours povezane relacijom, sa 'enforce-om' (zna li neko dobar prevod?) ref. integriteta:

<pseudocode>
connection.BeginTrans;
q2.SQL := 'DELETE FROM EmployeeWorkHours WHERE Id_Employee = 1';
q2.ExecSQL;
q1.SQL := 'DELETE FROM Employees WHERE Id = 1';
q1.ExecSQL;
connection.CommitTrans;
</pseudocode>

u ovom drugom slucaju je q2 suvisan, pa samim tim i transakcija. inace stoji sve ovo sto pricas.

ss.


Atomicna operacija ne postoji bez transakcije, implicitne ili explicitne. Baze trebaju biti ACID kompatibilni .... a to nije samo atomicnost.

Pogledaj: http://www.fredosaurus.com/notes-db/transactions/acid.html
http://www.geocities.com/mailsoftware42/db/
Potpis
People who think they know everything tend to irritate those of us who do.
Re: Baze podataka - generalna pitanja 27.01.2005. u 15:19 · pre 264 meseca #31
Kod modernih DB servera
TTable == TQuery (SELECT * FROM TBL)

TTable je rudimentiran ostatak sa BDE-a i paradox-a. Zaboravi TTable.
Potpis
People who think they know everything tend to irritate those of us who do.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme