Toon posts:

[Access] Finding the limits

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor m'n werk ben ik in VB en Access een applicatie aan het ontwikkelen. Een planningmodule maakt daar ook deel van uit.Op dit moment heb ik alles netjes draaiend, maar aangezien snelheid ook enigzins belangrijk is, en ik zeker wil weten dat mijn applicatie het volgend jaar ook nog doet het volgende:

Als een agent(werknemer) gaat werken, dan wordt er een record toegoevoeg aan de tabel Planning. In deze tabel wordt dan het AgentID vermeld, de datum, de shift (ook een ID) en een true/false veld.

Na wat rekenwerk ben ik tot de conclusie gekomen dat er per jaar ongeveer 50.000 records toegevoegd worden aan de tabel. Wat ik graag wil weten is of Access mij nog een beetje lief gaat vinden als hier flinke queries over gedraaid worden, dan bedoel ik queries met 3 à 4 subqueries, die een recordset van ongeveer 70 records als resultaat geven.

Ik heb overwogen om te gaan stresstesten, zelf een routine schrijven om het te proberen, maar misschien dat jullie hier nu al een antwoord op weten... :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Na wat rekenwerk ben ik tot de conclusie gekomen dat er per jaar ongeveer 50.000 records toegevoegd worden aan de tabel. Wat ik graag wil weten is of Access mij nog een beetje lief gaat vinden als hier flinke queries over gedraaid worden, dan bedoel ik queries met 3 à 4 subqueries, die een recordset van ongeveer 70 records als resultaat geven.
50.000 records... Ach, Access zal je in eerste instantie niet je nek omdraaien, maar na een jaartje of 2,3 zal je toch wel wat problemen krijgen. Vraag is ook: hoeveel records zitten er nu in? Als er nu al 150.000 inzitten, gaat hij dat niet echt prettig vinden.

Access vind het verder niet leuk als er veel concurrent users bezig zijn, dat vindt ie niet liev.. ;)

Die ingewikkelde queries; kan je daar geen tijdelijke tabellen van maken, zodat de gegevens snel beschikbaar zijn?

Misschien is ook een overweging om MSDE te gaan gebruiken; het 'gratis' kleine broertje van Access. Heeft ongeveer dezelfde beperkingen (meer dan 5 users niet aardig, max 2GB grootte), maar je kan gebruik maken van SP's en gaat wat beter met data om. Ook kan je dan gebruik maken van triggers, eventueel om de tussentabellen te vullen.
OOk kan je de GUI van Access kan je gebruiken voor MSDE

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Op woensdag 17 juli 2002 17:32 schreef gorgi_19 het volgende:

[..]

50.000 records... Ach, Access zal je in eerste instantie niet je nek omdraaien, maar na een jaartje of 2,3 zal je toch wel wat problemen krijgen. Vraag is ook: hoeveel records zitten er nu in? Als er nu al 150.000 inzitten, gaat hij dat niet echt prettig vinden.

Access vind het verder niet leuk als er veel concurrent users bezig zijn, dat vindt ie niet liev.. ;)

Die ingewikkelde queries; kan je daar geen tijdelijke tabellen van maken, zodat de gegevens snel beschikbaar zijn?

Misschien is ook een overweging om MSDE te gaan gebruiken; het 'gratis' kleine broertje van Access. Heeft ongeveer dezelfde beperkingen (meer dan 5 users niet aardig, max 2GB grootte), maar je kan gebruik maken van SP's en gaat wat beter met data om. Ook kan je dan gebruik maken van triggers, eventueel om de tussentabellen te vullen.
OOk kan je de GUI van Access kan je gebruiken voor MSDE
Hmm, MSDE is helaas out of the question. Heb hier te maken met een nogal stug syteembeheer, dus Access is het hoogst haalbare.

De tabel is nu gelukkig nog leeg, Opzich kan data na een jaar netjes naar een andere tabel verhuisd worden, zelfs na een maand al, zolang de loonronde maar gedraaid is.

Over die concurrent users, ik heb nu een front en een backend gemaakt, is het een overweging om het aantal users op 4 te limiteren?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Op woensdag 17 juli 2002 17:46 schreef DaJaN het volgende:

[..]

Hmm, MSDE is helaas out of the question. Heb hier te maken met een nogal stug syteembeheer, dus Access is het hoogst haalbare.
Helaas; ik verwacht wel dat je op den duur performanceproblemen krijgt.... Maar goed, systeembeheer = systeembeheer.
Over die concurrent users, ik heb nu een front en een backend gemaakt, is het een overweging om het aantal users op 4 te limiteren?
Het AANTAL users is niet belangrijk, maar het AANTAL CONCURRENT users is belangrijk. De hele achtergrond:
Access is eigenlijk gemaakt voor de desktop met 1 users. Meerdere users kunnen er gebruik van maken; Microsoft adviseert er niet meer dan 10 tegelijkertijd te doen. In praktijk lijkt 5 meer een maximumaantal. In theorie kunnen er 255 concurrent users zijn.

4 is dus een goede limiet... :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Againzender
  • Registratie: Maart 2002
  • Laatst online: 01-09 22:32
Wat ik een irritant trekje van access vind is hoe de applicatie zich houdt als hij niet netjes wordt afgesloten. Zeker als er meerdere concurrent users zijn en de stroom uitvalt.....
In dit geval wilde de database helemaal niet meer geopend worden, maar was 'ie gelukkig nog wel normaal te repairen.
Wat mij echter opvalt met veel concurrent users is dat er ongemerkt een vorm van corruptie in sluipt. Als je op zijn tijd een 'repair database' doet zegt 'ie dat alles normaal is, maar als je direct daarna een 'compact database' doet dan krijg je allerlei foutmeldingen om je oren. Als iemand iets heeft om dit te voorkomen (oplossen kan ik wel) dan hoor ik het graag :)

Verwijderd

Topicstarter
Op donderdag 18 juli 2002 09:30 schreef Againzender het volgende:
Wat ik een irritant trekje van access vind is hoe de applicatie zich houdt als hij niet netjes wordt afgesloten. Zeker als er meerdere concurrent users zijn en de stroom uitvalt.....
In dit geval wilde de database helemaal niet meer geopend worden, maar was 'ie gelukkig nog wel normaal te repairen.
Wat mij echter opvalt met veel concurrent users is dat er ongemerkt een vorm van corruptie in sluipt. Als je op zijn tijd een 'repair database' doet zegt 'ie dat alles normaal is, maar als je direct daarna een 'compact database' doet dan krijg je allerlei foutmeldingen om je oren. Als iemand iets heeft om dit te voorkomen (oplossen kan ik wel) dan hoor ik het graag :)
Gelukkig wordt er bij ons dagelijks een backup gedraaid, dus mocht de schade na stroomuitval echt te groot zijn dan kunnen we altijd nog een backup van de dag ervoor terugzetten.

Enige waar ik nog een beetje mee in m'n maag zit zijn wat locking problemen. Ik kon nergens echt goed vinden hoe Access nu echt lockt. Heb al wel uitgevonden dat Access alleen write-locking heeft en geen read-locking, maar hoe Access nu echt reageert als je een UPDATE query draait over een gelockt record weet ik nog niet. Probeert Access bijvoorbeeld zelf nog een paar keer te query uit te voeren?
Het AANTAL users is niet belangrijk, maar het AANTAL CONCURRENT users is belangrijk. De hele achtergrond:
Access is eigenlijk gemaakt voor de desktop met 1 users. Meerdere users kunnen er gebruik van maken; Microsoft adviseert er niet meer dan 10 tegelijkertijd te doen. In praktijk lijkt 5 meer een maximumaantal. In theorie kunnen er 255 concurrent users zijn.
4 is dus een goede limiet... :)
Concurrent users zijn neem ik aan users die tegelijkertijd gebruikmaken van dezelfde records...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Op donderdag 18 juli 2002 11:07 schreef DaJaN het volgende:

Concurrent users zijn neem ik aan users die tegelijkertijd gebruikmaken van dezelfde records...
Yup.

In het algemeen moet je in je achterhoofd houden: Access is gemaakt voor een single-user environment.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

Op donderdag 18 juli 2002 11:12 schreef gorgi_19 het volgende:
In het algemeen moet je in je achterhoofd houden: Access is gemaakt voor een single-user environment.
Klopt, single-user tot een paar gebruikers. Alleen is het afhankelijk van hoe intensief er database akties zijn. Je kan makkelijk met 300 users op een db werken, als ze om de beurt. zeg om de 5 minuten, iets query'en of opslaan. Het wordt alleen vervelend als ze alle 300 tegelijk dat willen ;)

Exact expert nodig?


Verwijderd

Topicstarter
Op donderdag 18 juli 2002 11:39 schreef Crazy_D het volgende:

[..]

Klopt, single-user tot een paar gebruikers. Alleen is het afhankelijk van hoe intensief er database akties zijn. Je kan makkelijk met 300 users op een db werken, als ze om de beurt. zeg om de 5 minuten, iets query'en of opslaan. Het wordt alleen vervelend als ze alle 300 tegelijk dat willen ;)
Opzich maak ik vooral gebruik van SELECT queries, ik neem aan dan Access dit soort queries wel toelaat ook al is de record gelockt?
Pagina: 1