12. december 2002 - 22:49Der er
19 kommentarer og 1 løsning
Access vs. textfil
Jeg skal igang med at oprette en side hvor man kan tilmelde sig et af vores arrangementer.
Der regnes med, at der vil indløbe mange tilmeldinger og dermed sansynligvis også mange samtidige brugere. I tal vil det sige mellem 50-100 stk.
Vi har kun en access-db til rådighed og den kan så vidt jeg ved ikke håndtere mere end ca. 20 stk. samtidig.
Min tanke er så om jeg i stedet kan gemme tilmelings-informationerne i en txt-fil da jeg håber at en sådan lagringsform kan håndtere en større mængde af trafik.
Er min antagelse forkert mht. en txt-fil som erstatning for en access-db?
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Jeg tvivler på at access overhovedet kan klare 20 samtidige forbindelser. Access ER kun en fil, som ikke engang er organiseret effektivt. Tabellerne er placeret efter hinanden, og indføjes en linie i den første tabel, RYKKES alle de efterfølgende tabeller - et enormt arbejde. Access er principielt set slet ikke en rigtig database, dog vil en fil lavet af dig selv nok ikke være lige så effektiv som Access. MS har trodsalt lagt lidt arbejde i at få Access til at køre.
Den du nok skulle arbejde med er noget kode (php, asp, java whatever), som kan håndterer Access-databasen og sørge for at et begrænset antal brugere har adgang til den på samme tid, ja en enkelt bruger adgangen ville nok være at foretrække, da Access jo ikke ligefrem er en trådet database-server med avanveret transaktions-management.
Jeg havde også tænkt mig at anvende asp op mod access-db'en, men er der en funktion i asp-sproget som kan finde ud af og fortælle mig som webmaster hvor mange brugere der benytter databasen???
tgl> du kan åbenbart forstå dansk, så det holder jeg mig til. Hvis du synes jeg er forkert på den, kan du selv finde noget dokumentation. Jeg blev først opmærksom på det da vi lærte dyberegående om databaser på datamatikerstudiet. Min lærer er i øvrigt Steen Kraft, som var med til at udvikle OS'et Unix og som overrakte Unix-kernen til Linus Thorwaldsen, manden bag Linux, altså kan min lærer ikke helt være nybegynder. Desuden har jeg hørt mange andre sige det samme...
Access er opbygget som EN stor fil, hvori tabellerne bliver flyttet rundt når data indsættes, hvad tror du ellers filerne *.mdb er til for?? Samtidig kan Access bruges uden nogen supplerende programmer, det er slet ikke nødvendigt at have MS Access, kun en ODBC-driver er nødvendig. Det siger lidt om hvor meget database der er i Access (ikke meget). Rigtige databaser, som MySQL, MS SQL Server og PostgreSQL, er deciderede, trådede server-applikationer, der tager sig af transaktions-management, samtidige forbindelser osv. (se lige http://www.eksperten.dk/spm/277890).
dsj>it isnt tgl that is contradicting you! You are right that Access is NOT a database server like MS SQL and MySQL, but it IS a relational database. It also uses indexes and these are also stored in the MDB file along with other information. When records get appended to the database then it MAY be necessary to re-organise the indexes, but in fact this is ALSO the case with other database servers. Because a database stores the data in files, does this make it a bad database?
Just out of interest, MS SQL also stores the data in files, where else do you think it stores the data?
Having Steen Kraft as your teacher doesnt mean a thing to me dsj, only hard facts do :o)
At this vety moment there are 187 users online in experten! What does this figure tell you? Well it DOES NOT tell you that they are all writing data to the database or that they are even reading in a new page. What I am getting at here is, if the application is programmed correctly then a connection will only be opened a matter of a few seconds and then closed again. So what are the chances of there being more than 20 connections at one time? Very slim I would think and if we take 3 seconds as an average then we are talking 1200 SINGLE connections an hour. Or 28800 in one day. Thats over 500,000 IF we take 20 connections as out maximum.
fdata> ja, jeg mener Access er bedre end en hjemmestrikket fil, langt bedre, men i forhold til "rigtige" databaser som MySQL og MS SQL Server, er den LANGT underlegen på alle de vigtigste punkter: datasikkerhed (backup, beskyttelse mod uautoriseret adgang) og performance... Jeg gider ikke søge nettet igennem for dokumentation omkring Access, prøv selv at søge på f.eks. "mysql vs access", og jo jeg har hørt flere andre sige præcis det samme. Selv tror jeg heller ikke uden skepsis blot på hvad en enkelt person siger, men andre i samme kredse siger altså noget lignende. Access er langt fra et mesterstykke og ikke engang datatyperne fælger standarderne. Formålet med Access er at give brugere uden kendskab til sql og generelt database-"videnskab" mulighed for at anvende en databases muligheder...
terry> Det du påstår har jeg heller aldrig sagt, men min pointe er, at en Access-DB med mange samtidige forbindelser meget lettere end trådede database-servere kan lave ged i indeværende data, modsat transaktionsstyrede databaser, der garanterer de såkaldte ACID-krav:
- Atomar - Consistence - Isolation - Durability
Alle krav som Access ikke har nogen garanti for, faktisk understøtter mysql ikke engang transaktionsstyring, som Oracle, DB2 og PostgreSQL gør det...
Man bygger i dag heller ikke systemer ud fra hvad der er sandsynligt, men hvad der i værste tilfælde kunne ske, det kan jo sagtens være at mange brugere tilfældigvis på samme tid tilgår databasen. Og mht. til ekspertens database (MySQL 4.0.4), hvis ikke du tror at den har travlt, kan du godt tro om igen, den HAR travlt og en Access-DB ville, efter min overbevisning, i samme tilfælde bryde hostende sammen med datatab til følge.
Det jeg mener med "at Access kan bruges uden Microsoft Access" er, at du på en maskine som ikke har installeret programmet Microsoft Access sagtens kan læse og anvende en *.mdb-fil gennem en ODBC-driver...
dsj>The original question was Access vs. textfil! But you didnt actually give an answer to the quetsion, you just criticized Access, but without any documentation to support your views! "Access ER kun en fil, som ikke engang er organiseret effektivt. Tabellerne er placeret efter hinanden, og indføjes en linie i den første tabel, RYKKES alle de efterfølgende tabeller -....."
We (I) amd NOT saying that Access is as good as MS SQL or MySQL, I am saying that I dont support your views, and that you didnt answer the original question.
Oh! and something else, Access also supports transactions, which as you do say yourself MySQL doesnt!
Do you have any idea which database is the most widely used in the World? Well I dont have anything to support this, but at a guess it is Access :o)
dsj> Det kan naturligvis altid diskuteres hvilken database, der er den bedste; men det virker tit som om, der går lidt religionskrig i argumentationen. Uanset hvor Access ligger i forhold til de øvrige, er din påstand om at "Access er principielt set slet ikke en rigtig database" stadig en smule afstumpet.
Jeg gætter på, at de tusindvis af brugere verden over, der daglig benytter Access (både op mod .mdb, SQL servere osv.) vil have svært ved at give dig ret. Uanset din holdning må man jo sige, at Access både ligner og fungerer som en database. Endda en glimrende sådan.
Access ligner en database og fungerer som sådan ja, men sammenlignet med de fleste andre databaser er det ikke en glimrende database, hverken mht. hastighed eller sikkerhed, men det er heller ikke formålet med den. Tilgengæld er den meget nem at bruge.
Om Access er verdens mest anvendte database kan jo også diskuteres. Måske er den i de mindre systemer, men næppe i lidt større systemer...
som forklaret tidligere, at database garanterer ACID-kravene:
- Atomar - enten gennemføres en transaktion HELT eller SLET IKKE - Consistence - DB'en er konsistent FØR transaktionen og ligeså EFTER - Isolation - anvendte attributter er lokale, dvs. at de ikke er tilgængelige for andre end den transaktion der skriver i disse. MySQL klarer denne ved kun at tillade én bruger i hver tabel ad gangen. - Durability - alle ændringer er skrevet til DB'en og verificerede
Synes godt om
Ny brugerNybegynder
Din løsning...
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.