Ustvarjanje novih računov (principi)

Ok, danes (in že kak dan prej) se ukvarjam z iskanjem najbolj optimalne rešitve za acc management v npr. spletni aplikaciji.

Pri enem ni nekih težav, niti z bazo, pri večuporabniških računih pa ne vem oz. še nisem naštudiral nekega pametnega sistema (postavitev baze, nadzor računov, ipd).

Nekaj možnih rešitev, ki jih vidim sam:
- ena baza, vsak acc svoj prefix, ena skupna tabela (ali več) za acc management
- vsak račun svojo bazo, potem pa ena baza za info o accountih (in management teh)

Kako imate drugi to rešeno?

Zahteve (vsaj pri večini aplikacij):
- en račun
- več userjev na računu
- omejitve na posameznem računu (št. userjev, porabljen prostor, ipd)
- anuiteta plačevanja (glede na paket)

Verjetno ni neke standardizacije na tem področju, pa vendar, kako imate to rešeno?

T.

1 odgovor

Najbolj enostavno ti je ločiti logično. Torej nad uporabnika daš še en model (tabelo), recimo "account". Vsak account pa lahko ima več uporabnikov.

Potem moreš samo rešiti, kako bodo uporabniki dostopali do teh account-ov, kar je predvsem odvisno, kako je aplikacija postavljena.

Če recimo nek super admin odpira nove račune, potem lahko ta določi nekega account managerja, pri stranki, in potem ta account manager dodaja nove uporabnike.

Če ni neke resne potrebe po fizičnem ločevanju, torej več kopij tabel ali baz, potem je pomojem to nepotrebno. Fizično ločevanje je smiselno, če recimo želiš nadzirati tudi resource, torej disk in podobno, potem ti je lažje tako, ker lahko bazo in storage daš za vsak account na svoj strežnik.

Sploh kopiranje tabel je pomojem nesmiselno (WPMU je to mel včasih, sedaj ne več če se ne motim). Ker če imaš recimo 10 tabel in boš imel 1000 strank, boš imel potem 10.000 tabel v bazi.

Torej predvsem je odvisno za kakšno aplikacijo gre, na kakšen način se bo prodajala, kaj želiš nadzirati za posamezni račun itd.

Za podrobnejše informacije pa pogoogle-aj "multitenancy".

2