09. februar 2009 - 12:39Der er
6 kommentarer og 1 løsning
søger persistent lag til tabeller
Hejsa
Jeg søger et persistent lag, jeg kan ligge oveen på min tabeller (SAS tabeller). Tabellerne er ikke i en database dvs. jeg har ikke en underliggende dbms der understøtter ACID properties. Så pt kan der f.eks. kun være en brugere af gangen logget på min applikation, der ændrer i data. Det skal lige siges jeg tilgår data via jdbc. Findes der et framewok til tilbyder mig ACID properties så jeg kan håndtere flere brugere at gangen i min applikation
Opgaven er tricky. Det er nemt at lave en passthrough JDBC driver. Men hvis den underliggende driver ikke kan låse på nogen måde så skal den nye driver både håndtere: - andre tråde i samme JVM - andre JVM på samme PC - andre JVM på andre PC'ere
Så jeg tænker: - passthrough JDBC driver - parse af SQL sætninger - låsninger distribueret via JGroups
Arne>> Ja jeg tænkte nok det kræver noget arbejde. Havde egentlig håbet at et persistent lag a la Hibernate kunne give mig ACID properties. Sagen er nemlig den at når 2 personer arbejder på den samme tabel er der ingen lås på tabellen så hvis person1 tror hun opdaterer data samtidig med at person2 opdaterer data ja så det nærmere tilfældighederne der afgør hvem der først får gemt data. nu ved jeg ikke lige hvad en passthrough jdbc driver er. Men jeg er desværre låst af en allerede jdbc driver der connecter til SAS tabeller. Så jeg skal vel kode en form for låsning af mine tabeller. JGroups (Reliable Multicast Communication). Hmm ser da vist ud til at blive en kompliceret opgave.
Det jeg kalder en passthrough JDBC driver kaldes også en delegateing JDBC driver.
Tricket er at din applikation loader driver addlocking.Driver som så loader sas.Driver, når du laver en connection laver den connection en connection til SAS og når du udfører en statement så laver driveren først en lock kalder SAS driveren med samme lock og releaser så lock igen.
Snakker vi traditionelle database transaktioner hvor der skal låses i millisekunder eller snakker vi låsninger i minutter mens et levende menneske skal kigge på og rette data ?
Det er to forskellige problem stillinger. Omend det grundliggende problem stadigt er næsten det samme.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.