Multiple DBs vs One DB
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Пользователь
- Сообщения: 107
- Зарегистрирован: 02 авг 2004, 22:00
db
Папа, все что ты привел, есть за и против.Какая разница если все ети базу быдут на одном сервере , есть смысл в несколких базах на remote сервер ,но ето уже пахнет replication или нужен скрипт на синхронизаю между базами данных, а это головная боль.
Я имею саит с 30К пользователеи и однои VLDB и никаких проблем.
Я имею саит с 30К пользователеи и однои VLDB и никаких проблем.
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
Re: db
Согласен с мнением. На нашем опыте несколько баз + последующая синхронизация с основной базой прокатывает если:Yuri Dimant писал(а):Папа, все что ты привел, есть за и против.Какая разница если все ети базу быдут на одном сервере , есть смысл в несколких базах на remote сервер ,но ето уже пахнет replication или нужен скрипт на синхронизаю между базами данных, а это головная боль.
Я имею саит с 30К пользователеи и однои VLDB и никаких проблем.
- клиент может достаточно продолжительное время работать офлайн, например, в "отчётный" период 1-3 месяца (у нас был опыт по-квартальной синхронизации )
- обновление "справочной информации" из основной базы (положим, БИКи, на Российском опыте, или другая инфа классификаторов) - не частое (раз в декаду)
Так работали базы некоторых министерств и банков в России со своими отделениями.
-
- Завсегдатай
- Сообщения: 301
- Зарегистрирован: 04 май 2005, 11:33
Re: db
[trn]Wto ne argument. Ty putaesh' konechnyh pol'zovatelej i nashih klientov. Pochitaj esche raz moj pervyj post. U kazhdogo nashego klienta est' svoi pol'zovateli. Voz'mem primer s telefonnym bilom. Dopustim, est' prilozhenie dlya telefonnoj kompanii. Esli wto Bell, to emu stavitsya otdel'nyj server. Esli wto melkaya kompaniya, to prilozhenie i baza mozhet zhit' na tom zhe servere gde zhivut prilozheniya i bazy drugih melkih telefonnyh kompanij.[/trn] DBMS [trn]na servere - odna.[/trn]Yuri Dimant писал(а): Я имею саит с 30К пользователеи и однои VLDB и никаких проблем.
[trn]Nel'zya sekjuriti na urovne BD. Potomu chto esli odin nash klient (ne putat' s konechnymi pol'zovatelyami) reshit chto[/trn] human resource[trn] mozhet posmotret' [/trn]SIN[trn] rabotnika, a drugoj ne zahochet wtogo, to v odnoj baze ne dash' dostup k polju na osnovanii znacheniya drugogo polya. Ili sejchas BD wto umejut?[/trn]Yuri Dimant писал(а): И почему нельза security?
[trn]Kakih detalej ne hvataet? Davaj dam detali.[/trn]BB писал(а): на самом деле нельзя сказать однозначно что лучше - не хватает деталей.
- dima
- Житель
- Сообщения: 690
- Зарегистрирован: 19 фев 2003, 19:26
- Откуда: Хабаровск->Toronto
1. я согласен. Нельзя-ли обьеденить клиентские id в группы, штук так по 1000 в каждую и на каждую группу выделять базу.папа Карло писал(а):сразу скажу, делать каждому пользователю персональную базу во многих случаях будет самоубийство.
2. Если бизнес-логика позволяет, то всю SQL-щину неплохо вынести на сторону базы данных в stored procedures (для записи в таблицы) и views (для чтения). В таком случае не надо беспокоится о том, что кто-то where clause не написал правильно.
Опять-же если бизнес-логика позволяет.
Еще один недостаток с огромными таблицами - performance.
-
- Завсегдатай
- Сообщения: 301
- Зарегистрирован: 04 май 2005, 11:33
Re: db
[trn]Net nikakoj sinhronizacii. Bazy nezavisimye. Narod, ya chto-to neyasno izlagaju?[/trn] Application Service Provider [trn]hostit prilozhenie dlya melkih i krupnyh klientov. Prilozhenie odno, no konfiguriruemoe. Ne dumaju chto mozhno bez gemoroya zakonfigurit' prilozhenie tak, chtoby dlya raznyh klientov byla raznaya struktura DB. Dlya melkih klientov est' rezon derzhat' neskol'ko prilozhenij na odnoj zhelezyake. Vopros: odna BD s razdeleniem po klientam na urovne prilozheniya ili dlya kazhdogo klienta svoya DB, kotoraya v sluchae s melkimi klientami delit[/trn] DBMS[trn] s bazami drigih melkih klientov.[/trn]vg писал(а): Согласен с мнением. На нашем опыте несколько баз + последующая синхронизация с основной базой прокатывает если:
-
- Частый Гость
- Сообщения: 41
- Зарегистрирован: 02 авг 2005, 16:14
- Откуда: Vancouver
[trn]Naprimer:
- ispol'zuetsja li [/trn]stand-alone (not ASP) [trn]versija
- dopuskaetsja li (sejchas ili v budushem) nastrojka bazy pod konkretnogo klienta (dopolnitel'nye polja, [/trn]custom [trn]spravochniki, i t.d.)
- kto i kak budet delat' otchety? Mogut li klienty zakazyvat' i razrabatyvat' svoi otchety i potom hostit' na vashem ASP.
- kakie trebovanija po [/trn]availability[trn]?
V obshem, v [/trn]ASP [trn]klient polagaet, chto s prilozheniem rabotajut tol'ko ego pol'zovateli i ego dannye prinadlezhat emu. So vsemi vytekajushimi... [/trn]Keep that in mind.
- ispol'zuetsja li [/trn]stand-alone (not ASP) [trn]versija
- dopuskaetsja li (sejchas ili v budushem) nastrojka bazy pod konkretnogo klienta (dopolnitel'nye polja, [/trn]custom [trn]spravochniki, i t.d.)
- kto i kak budet delat' otchety? Mogut li klienty zakazyvat' i razrabatyvat' svoi otchety i potom hostit' na vashem ASP.
- kakie trebovanija po [/trn]availability[trn]?
V obshem, v [/trn]ASP [trn]klient polagaet, chto s prilozheniem rabotajut tol'ko ego pol'zovateli i ego dannye prinadlezhat emu. So vsemi vytekajushimi... [/trn]Keep that in mind.

- папа Карло
- Шарманщик
- Сообщения: 8565
- Зарегистрирован: 17 фев 2003, 15:04
- Откуда: НН -> BC -> WA -> UT -> CA
Re: db
можно построить так что не репликации ни синхронизакции не надо будет. у тебя сайт с 30к пользователей, которые хранят свои данные на нем? сколько процов в сервере БД? сколько надо будет ресурсов для поддержки твоей системы и 50к пользователей?Yuri Dimant писал(а):Папа, все что ты привел, есть за и против.Какая разница если все ети базу быдут на одном сервере , есть смысл в несколких базах на remote сервер ,но ето уже пахнет replication или нужен скрипт на синхронизаю между базами данных, а это головная боль.
Я имею саит с 30К пользователеи и однои VLDB и никаких проблем.
-
- Завсегдатай
- Сообщения: 301
- Зарегистрирован: 04 май 2005, 11:33
[trn]Da[/trn]BB писал(а):[trn]Naprimer:
- ispol'zuetsja li [/trn]stand-alone (not ASP) [trn]versija[/trn]
[trn]Net. Esli klient chto-to hochet i my reshaem wto implementirovat', to wtu funkcional'nost' poluchajut vse. A budut li oni ee ispol'zovat' - ih delo.[/trn]BB писал(а): [trn]- dopuskaetsja li (sejchas ili v budushem) nastrojka bazy pod konkretnogo klienta (dopolnitel'nye polja, [/trn]custom [trn]spravochniki, i t.d.)[/trn]
[trn]Otchety kak chast' prilozheniya? Ih delajut klienty. Sistemnye otchety tipa kolichestvo unikal'nyh pol'zovatelej? Skoree vsego chto my, no pri krupnom kliente mozhno najti gramotnogo cheloveka i spihnut' wto na nego.BB писал(а): [trn]- kto i kak budet delat' otchety? Mogut li klienty zakazyvat' i razrabatyvat' svoi otchety i potom hostit' na vashem[/trn] ASP.
Chto znachit "hostit' otchety"? Delat' ih dostupnymi konechnym pol'zovatelyam? Da, no wto chast' prilozheniya (ili otdel'noe prilozhenie).[/trn]
[trn]Vysokie. No razve wto vopros DB?[/trn]BB писал(а): [trn]- kakie trebovanija po [/trn]availability?
[trn]Ya dumaju on takzhe polagaet chto i s dannymi rabotajut tol'ko ego pol'zovateli. Wto esche odin argument v pol'zu [/trn] one DB per client.BB писал(а): [trn]V obshem, v [/trn]ASP [trn]klient polagaet, chto s prilozheniem rabotajut tol'ko ego pol'zovateli i ego dannye prinadlezhat emu. So vsemi vytekajushimi... [/trn]Keep that in mind.
-
- Маньяк
- Сообщения: 4706
- Зарегистрирован: 20 янв 2005, 19:11
-
- Завсегдатай
- Сообщения: 301
- Зарегистрирован: 04 май 2005, 11:33
[trn]A kakaya raznica? Dopustim, 100 klientov sejchas, iz nih 80 melkih. U kazhdogo ot 500 do 5000 pol'zovatelej. Dopustim, cifry udvaivajutsya. I chto? Esli zhelezyaka ne potyanet 160 klientov, perekinem 80 na druguju zhelezyaku. Ne vazhno kogda wto proizojdet - cherez 5 let ili v sledujuщem godu. Pri razdel'nyh DB wto proщe.[/trn]Zy писал(а): Сколько пользователей/клиентов предполагается обслуживать через пять лет?
-
- Маньяк
- Сообщения: 4706
- Зарегистрирован: 20 янв 2005, 19:11
Мммм... Ну, я не знаю... Просто перед тем, как что-то делать, составляют некий бизнес-план. Так сказать - где бабки? Если деньги не считаются, то это благотворительный фонд или еще какая общественная/государственная организация, тут у меня опыта нет.А какая разница?
Если речь идет о десятках клиентов, то можно ставить отдельные базы и не морочить людям голову. Если речь идет в перспективе о тысячах, то ставить одну базу на кластер и не морочить людям голову. Если "какая разница", то ставить все что угодно и не морочить людям голову.
Я вообще не очень понимаю, над чем ломаются копья? Для приложения БД должна обеспечивать реляционность хранимой информации. Если приложение заточено под работу определенной конфигурации БД, то это приложение кривое. Если приложение написано правильно, то конфигурация БД может меняться хоть каждый день в зависимости от требований.
Если у вас сейчас мало клиентов и нет представления о скорости их размножения, то ставьте отдельные базы. Если с течением времени возникнут проблемы с их количеством, будете решать эту проблему.
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
-
- Пользователь
- Сообщения: 107
- Зарегистрирован: 02 авг 2004, 22:00
db
Папа, StS сказал (добавил) некоторые детали ,которые меняют картину.
Например, он сказал ,что у его клиентов есть есть другие клиенты , я етого не учел , поэтому мое мнение инфо о каждом клиенте хранить в однои базе , и чтобы те клиенты (господи, опять слово клиент) имели свои базы длаы своих килентов. Не запутался?
Теперь, да, я храню инфо о каждом (30к) клиенте у себя в бд с 8 процесоров, длаьше лесть в дебри нашеи имплементации нет смысла (заимет еше куча времени) но правильно спланирована дб, индехсы позволяет нам получать слозные репорты в считанные секунды.
Например, он сказал ,что у его клиентов есть есть другие клиенты , я етого не учел , поэтому мое мнение инфо о каждом клиенте хранить в однои базе , и чтобы те клиенты (господи, опять слово клиент) имели свои базы длаы своих килентов. Не запутался?
Теперь, да, я храню инфо о каждом (30к) клиенте у себя в бд с 8 процесоров, длаьше лесть в дебри нашеи имплементации нет смысла (заимет еше куча времени) но правильно спланирована дб, индехсы позволяет нам получать слозные репорты в считанные секунды.
-
- Пользователь
- Сообщения: 107
- Зарегистрирован: 02 авг 2004, 22:00
db
>Нельзя секюрити на уровне БД. Потому что если один наш клиент (не >путать с конечными пользователями) решит что human resource >может посмотреть SIN работника, а другой не захочет этого, то в >одной базе не дашь доступ к полю на основании значения другого >поля. Или сейчас БД это умеют?
http://vyaskn.tripod.com/sql_server_sec ... ctices.htm --------security best practices
http://vyaskn.tripod.com/sql_server_sec ... ctices.htm --------security best practices
-
- Маньяк
- Сообщения: 4706
- Зарегистрирован: 20 янв 2005, 19:11