Puncte:0

Baza de date MS Access în LAN pentru companii mici: NAS vs server Windows virtualizat

drapel jp

În prezent, dezvolt o aplicație Windows de dimensiuni mici. Din motive de compatibilitate, sunt limitat să folosesc MS Access ca „backend” DB (migrarea la SQL Server este planificată, dar nu este încă realizabilă).

În aceste zile trebuie să iau o decizie. Am doua variante:

  1. Găzduiește fișiere MS Access pe NAS (Synology);
  2. Găzduiește fișiere MS Access pe un server Windows virtualizat (hardware-ul este puțin vechi).

Care soluție este mai bună, în ceea ce privește conexiunea fiabilă și rapidă la baza de date? Știu că este dificil să dau un răspuns 100% garantat cu atât de puține informații, așa că ce teste ar trebui să fac pentru a lua decizia? Cineva dintre voi s-a confruntat deja cu o situație similară?

Multumesc anticipat.

Jevgenij Martynenko avatar
drapel us
Care este dimensiunea fișierului DB? Numărul de utilizatori concurenți? De ce SQL Server nu poate fi folosit acum? Performanța va depinde de vitezele rețelei și de specificațiile hardware ale fiecărei opțiuni (tip de disc, rețea, RAM). Dar dacă fișierul este mic și numărul de utilizatori este mic, s-ar putea să nu facă nicio diferență. Problema cu fișierul Access nu este de obicei viteze, ci încuietori și coruperea fișierelor
FrankIsNotNothing avatar
drapel jp
@JevgenijMartynenko vă mulțumesc pentru interesul dvs. Dimensiunea fișierelor bazelor de date este între câțiva KB și 20 - 50 MB. NAS-ul este un Synology rs2418rp+ și ar trebui să aibă discuri SSD și RAID; serverul virtualizat este ceva mai vechi decat NAS (nu am specificatii detaliate momentan). Ambele sunt conectate prin LAN de 10 Gbps. Numărul estimat de utilizatori concurenți variază între 5 și 20. Conexiunea la aceste fișiere de date se face printr-o aplicație .Net (utilizatorii nu folosesc și nu văd fișierele Access).
Jevgenij Martynenko avatar
drapel us
Nu cred că veți avea probleme de performanță din cauza discului/rețelei. Accesul la fișierele DB poate fi lent prin proiectare, deoarece blocarea fișierelor și calculele sunt efectuate pe partea clientului. Deci, rețeaua/discul probabil nu va fi blocajul dvs. Recomand cu căldură să migrați la versiunea gratuită a SQL Server cât mai curând posibil
FrankIsNotNothing avatar
drapel jp
@JevgenijMartynenko Astăzi am făcut un test cu LAN Speed ​​Test: se pare că NAS-ul este de fapt puțin mai rapid decât serverul virtualizat, dar știu că doar compar viteza de citire/scriere. Crezi că aș obține vreun avantaj instalând SQL Server Express pe un computer vechi (i5 de generația a treia, 12 GB RAM 1600 MHz, SSD)? Ar fi aceasta mai bună decât soluția actuală bazată pe MS Access?
FrankIsNotNothing avatar
drapel jp
@JevgenijMartynenko Vreau să spun: pentru un computer client mai nou, nevoia de a se baza pe un computer vechi ar scădea performanța în comparație cu soluția bazată pe MS Access? Este întotdeauna de preferat o soluție de server SQL? Iartă-mă, sunt total începător.
Jevgenij Martynenko avatar
drapel us
Cred că hardware-ul menționat va fi mai mult decât suficient. SQL Server este mult mai fiabil decât fișierele Access DB. În ceea ce privește performanța, Express Edition nu va putea utiliza oricum mai mult de 2 GB de RAM. Deci 6 GB pentru mașina SQL Server ar fi mai mult decât suficient (2 GB pentru sistemul de operare Windows, 2 GB pentru fișierele cache, 2 GB pentru SQL). Verificați alte limitări Express Edition aici https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15# Cross-BoxScaleLimits
Jevgenij Martynenko avatar
drapel us
Pentru a adăuga un sâmbure de sare... vă rugăm să înțelegeți că migrarea de la Access DB la SQL Server va necesita reconfigurarea aplicației dvs. și actualizarea codului acesteia. De asemenea, gestionarea SQL Server poate necesita ceva mai mult efort și cunoștințe. Beneficiile pe care le veți obține sunt fiabilitatea și performanța
FrankIsNotNothing avatar
drapel jp
@JevgenijMartynenko Vă mulțumim pentru sprijin. Voi pregăti acel server SQL și voi încerca, cred că acesta este cel mai bun mod de a obține fiabilitate și performanță.
FrankIsNotNothing avatar
drapel jp
@JevgenijMartynenko Mă întorc aici doar ca să-ți mulțumesc că mi-ai recomandat să adopt SQL Server. Migrez toate fișierele Access la SQL Server în aceste zile și fac o primă încercare, sunt uimit de performanțele pe care le obțin - cea mai bună parte este că încă nu mi-am optimizat codul aplicației! Deci, mulțumesc.
Jevgenij Martynenko avatar
drapel us
Mă bucur să fiu de ajutor :)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.