|
|
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Посоветуйте, пожалуйста, на какой СУБД лучше остановиться. БД предназначена для менеджеров по продаже электрооборудования. В ней есть (будет) прайс-лист товаров, клиенты, звонки входящие и исходящие, коммерческие предложения и т. п. Основные требования: 1) Число пользователей до 15-ти 2) БД должна быть бесплатная 3) Возможность подключения клиентского приложения мобильного пользователя через интернет (TCP/IP vs VPN) к БД 4) Обязательная возможность осуществления репликации слиянием БД мобильного пользователя и основной БД (в случаях, когда пользователь работает дома или в командировке, а основной сервер недоступен) 5) Макс. число записей в день до 2000. Лет за 5 работы возможно накопление информации до 5-20 ГБ Дополнительные необязательные требования: 1) Простота администрирования 2) В качестве клиента использовать Access Access не прошел отбор по понятным причинам. Рассматривал SQL Server 2008 Express, но на нем нельзя выполнить репликацию, а покупать платную версию SQL Server с его колоссальными возможностями для такой простой задачи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:23 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ПолудённыйРассматривал SQL Server 2008 Express, но на нем нельзя выполнить репликацию, а покупать платную версию SQL Server с его колоссальными возможностями для такой простой задачи...А что мешает реализовать собственный механизм переноса данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:05 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
miksoftПолудённыйРассматривал SQL Server 2008 Express, но на нем нельзя выполнить репликацию, а покупать платную версию SQL Server с его колоссальными возможностями для такой простой задачи...А что мешает реализовать собственный механизм переноса данных? так тогда любая подойдет! и ответ будет - та, которую лучше знаешь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:16 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
alex_kтак тогда любая подойдет! и ответ будет - та, которую лучше знаешь :)Ну, в общем, да. Разве что за исключением embedded версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:18 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
miksoftА что мешает реализовать собственный механизм переноса данных? Я работал только с Access и не могу пока оценить трудозатраты на собственный механизм переноса данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:33 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
И еще в соседнем форуме мне сказали, что [quote]логирование изменений и генерацию скриптов на вставку/удаление/изменение сделать не так сложно. Только вот обработчик конфликтов сложно будет реализовать.[/quote] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:42 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
у express версий (оракла и мсскл) ограничение на 4гб данных в бд. в оракле бд еще и может быть только одна, зато наверника можно сделать материализет вью на удаленный источник и по расписанию его рефрешить. если сделать материализет вью лог, то выкачиватся будут только измененые записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:54 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Полудённый1) Число пользователей до 15-ти 2) БД должна быть бесплатная 3) Возможность подключения клиентского приложения мобильного пользователя через интернет (TCP/IP vs VPN) к БД 4) Обязательная возможность осуществления репликации слиянием БД мобильного пользователя и основной БД (в случаях, когда пользователь работает дома или в командировке, а основной сервер недоступен) 5) Макс. число записей в день до 2000. Лет за 5 работы возможно накопление информации до 5-20 ГБ1) Копейки - справится любая. 2), 5) MSSQL и Oracle отпадают. Остаются все свободные + DB2 Express-C. 3) Стандартно для всех. 4) Странное решение - ставить пользователю локально сервер и настраивать взаимную репликацию с центральным для off-line. Каждому до 20Гб локально хранить? Действительно, правильнее своим механизмом, в т.ч. в плане контроля изменений и разграничения доступа. Полудённый1) Простота администрирования 2) В качестве клиента использовать Access1) С простыми БД - у всех не сложно. 2) Через ODBC/ADO все работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:09 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Favn 2), 5) MSSQL и Oracle отпадают. Остаются все свободные + DB2 Express-C. Это чем же вам экспресс версии не угодили, они бесплатны. Favn тавить пользователю локально сервер и настраивать взаимную репликацию с центральным для off-line. Каждому до 20Гб локально хранить? Он же сказал, что и людей мало, и база маахинькая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:22 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
igor250973Это чем же вам экспресс версии не угодили, они бесплатны. Он же сказал, что и людей мало, и база маахинькая.Ограничением в 4Гб. Писалось о предельном объеме в 5-20Гб - уже не очень махонькая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:26 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Favn Ограничением в 4Гб. Писалось о предельном объеме в 5-20Гб - уже не очень махонькая. Да не наберут они такой объём на обслуживании заявок. Тем более зачем хранить инфу о вызовах пятилетней давности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:46 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
FavnСтранное решение - ставить пользователю локально сервер и настраивать взаимную репликацию с центральным для off-line. Каждому до 20Гб локально хранить? Ну не каждому, а директору и пару менеджерам, которые по клиентам ездят. 20 Гб это я с бооооольшим запасом взял. А что страшного, диски сейчас по 400 Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:49 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Тем более зачем хранить инфу о вызовах пятилетней давности. а вот, кстати, интересный вопрос. В качестве анекдота, только правдивого, на эту тему: меня в начале июня ПОСТОЯННО (вот уже 3 года подряд) беспокоит одна и та же транспортная компания (водитель), который спрашивает - "а куда мне приехать за грузом на Казань". Я отвечаю, что "груз на Казань я отправлял в июне **** года, поэтому в нынешнем году ехать ко мне забирать его не нужно". Вот к чему приводит неправильная организация базы заказов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:51 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
И еще, требование бесплатности это только на первых порах. Фирма молодая, денюшек пока мало. Если использовать Express с его ограничением 4 Гб, то через 2-3 года, если база распухнет, то можно на платную перейти (если кризис всех не заморит). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 16:54 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Favn 4) Странное решение - ставить пользователю локально сервер и настраивать взаимную репликацию с центральным для off-line. Каждому до 20Гб локально хранить? Нормальное решение, во-первых потому, что винты и на ноутах нынче достаточно большие (если порнуху потереть), а во-вторых реплицировать туда можно (и нужно) только необходимый минимум, поскольку ноуты теряются. И находятся. И хорошо если не конкурентами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 17:31 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
1. Купить на центральный сервер Workgroup или Standard. 2. На ноуты Express. 3. Реплицировать не все. 4. Радоваться жизни... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 17:57 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Я так смотрю, куда ни пойдешь, а выходишь к MS SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 18:06 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Предложу свой вариант. 1. Онлайн БД - Firebird. 2. Универсальный клиент, единобразно работающий как с онлайн базой так и с локальной базой (FB Embedded) + встроенная возможность репликации локальной БД с основной. 3. Терминальный сервер для удаленного доступа к БД. Как показывает практика в этом случае отпадает надобность в локальной БД и репликации. Плюсы: бесплатно, быстро, никаких ограничений размера БД, один клиент для работы с обоими вариантами баз. У нас работает такая система. Только в качестве основной БД - Oracle. PS забыл самое главное - никакого Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 19:06 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Если разрабатывать, то имхо, postgresql 8.4 Никто вас не потянет за её использование, платить только за поддержку если захотите. К тому времени как вы всё сделаете, эта версия уже станет стабильной. А в ней много чего прибавилось 1) рекурсивный и обычный WITH 2)BITMAP-индекс 3)Какие-то вкусности с процедурным языком(выборка из pl как из таблиц , CASE, и т.п) 4)Примерно штук 40 аналитических функций (аля oracle) И так далее. Думаю, вам за глаза Почитайте описание, там много всяких вкусностей Они уже вроде как его выложили для тестов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:15 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ArtemiyПредложу свой вариант. ... PS забыл самое главное - никакого Access. А там что, клиент встроенными средствами делается? firebird это borland? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:19 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
А почему про MySQL никто ничего не говорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:23 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ПолудённыйА почему про MySQL никто ничего не говорит?Скудна по функционалу и для вашего применения, насколько я в курсе, не бесплатна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:37 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
все уже сказали, что вашим требованиям подойдет практически любая база. совет - попробуйте найти ту, что имеет встроенный механиз репликации. самому писать - имхо геморой, гораздо приятнее юзать уже готовое и проверенное временем решение. у postgres'a кажись есть готовые приблуды для репликации, прада сам их никогда не юзал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:57 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Т.е. как я понял из бесплатных вариантов (кроме mssqlexpress) по функциональности БД будут располагаться так: 1) Postgre 2) Firebird 3) MySQL А на первые два варианта русскоязычную доку найти можно будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 21:58 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ArtemiyПредложу свой вариант. 1. Онлайн БД - Firebird. 2. Универсальный клиент, единобразно работающий как с онлайн базой так и с локальной базой (FB Embedded) + встроенная возможность репликации локальной БД с основной. Т.е. у Firebird встроенная возможность репликации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 22:08 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Полудённый, если репликация нужна, советую посмотреть в сторону slony 1, pg/pool или pl/proxy(это кажись, для горзонтального масштабирования). Ещё у скайпа можно посмотреть по теме. У них тоже всё на постгри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 22:21 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Полудённый Рассматривал SQL Server 2008 Express, но на нем нельзя выполнить репликацию, а покупать платную версию SQL Server с его колоссальными возможностями для такой простой задачи... Почему нельзя? Своими средствами можно. И если делать то попроще. Без всякого универсализма. Дороже выйдет. Функциональные возможности Вам не важны. 5 лет - это очень много. Если за 2 года Вы через 2 гига не переходите (наверняка), на ограничение размера можно забить. Про встроенную репликацию слиянием у Firebird слышу в первый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 22:28 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
OldProg Про встроенную репликацию слиянием у Firebird слышу в первый раз. А кто говорит про слияние? Кому и кобыла - невеста, а кому и log shipping - репликция. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 14:48 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
кстати, насчет цены. вчера только считал одному из закачиков SQL Server 2008 Standard (!) + 5 CAL. все укладывается в 2К зелени. согласитесь, написать собственную репликацию намного дороже. так что я все-таки предалагаю вернуть рассмотрение платных редакций таких БД как: * SQL Server 2008 Standard * Oracle SE One (кажись так называется) * Sybase ASA * IBM DB2 Возможно, цены окажутся приемлимыми и геморрой с бесплатными СУБД отпадет сам собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 21:41 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
AAronсогласитесь, написать собственную репликацию намного дороже Не думаю... В смысле, не намного дороже. А если повезет, то и дешевле... Кроме того, единожды написанная, она будет верно служить многие годы. Плюс сам репликатор можно как отдельный продукт продавать... Плюс чувство глубокого удовлетворения :) от реализации всемполезной штуковины... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 22:13 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
rilioAAronсогласитесь, написать собственную репликацию намного дороже Не думаю... В смысле, не намного дороже. А если повезет, то и дешевле... Кроме того, единожды написанная, она будет верно служить многие годы. Плюс сам репликатор можно как отдельный продукт продавать... Плюс чувство глубокого удовлетворения :) от реализации всемполезной штуковины... - Намного. Не повезт. Дороже. - Не будет служить многие годы - СУБД меняются, приоритеты меняются - Вряд ли, репликатор должен быть доступен по цене. Покупать отдельный репликатор при таких низких ценах на полное коробочное ПО здравомыслящий руководитель не будет. - Ну разве что ради самоудовлетворения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 22:31 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
AAron - Вряд ли, репликатор должен быть доступен по цене. Покупать отдельный репликатор при таких низких ценах на полное коробочное ПО здравомыслящий руководитель не будет. Это два килобакса ты называешь низкой ценой? Ну так посчитай во сколько обойдётся покупка IBPhoenix Replicator. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 21:12 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
понятия не имею... сам приведи цену. при покупке SQL Server за 2К: * DB Engine - сам движок - репликация (snapshot, merge, transactional) - failover кластеры - x86/x64/ia64 * интеграционные службы - SSIS * аналитический сервер, OLAP - SSAS * data mining * сервер отчетов, имеющий возможность интеграции в портал WSS/MOSS2007 - SSRS более полно сравнение редакций можно найти здесь а теперь найди бесплатных поделок с аналогичным функционалом. и сколько времени надо будет все склеивать, чтобы получить что-то работающее? детский сад, если честно. надо же сравнивать не только цены, но и получаемый фунционал, стоимость разработки... кому интересно, пусть проделает аналогичные расчет для других вендоров - Sybase, IBM, Oracle. думаю, порядок цен такой же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 21:57 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
DSЭто два килобакса ты называешь низкой ценой? смотря кому. для конторы 2к это много дешевле чем платить разработчику за минимум полгода разработки попутного софта, который есть в комплекте за 2к. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 11:41 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
+ цена серверной винды CentOS Postgresql Bucardo/Slony/SymmetricDS/Londiste/(PL/Proxy) x86/x64/ia64/sparc/ppa/ppc http://www.postgresql.at (OLAP + $$ support) OpenRPT/JasperReports + PL/tcl Pl/python pl/* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 12:33 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
kdv много дешевле чем платить разработчику за минимум полгода разработки попутного софта, который есть в комплекте за 2к. Не перегибай. Я говорил не про собственную разработку, а вполне конкретный коробочный продукт. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 16:01 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Из платных я бы посоветовал ASA, есть практически под все платформы, нетребователен к ресурсам, практически не надо администрировать, чудный механизм репликаций(2-а механизма). Есть девелоперская версия, в которой нет ограничений, за исключением, что ее нельзя использовать в продакшен. Т.е. покупаете только сервер с лицензиями... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 17:57 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
в общем итог - я не агитирую за SQL Server. Я лишь советую рассмотреть платные редакции. За вполне умеренные деньги можно получить весь необходимый функционал без проблем с написанием собственных компонентов или попыткой использования сторонних для СУБД. Еще один плюс - платные СУБД имеют несколько версий, в дальнейшем можно безболезненно апгрейдится. у бесплатных - как правило всего одна редакция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 18:41 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
OldProgПочему нельзя? Своими средствами можно. И если делать то попроще. Без всякого универсализма. Дороже выйдет. Хе хе. В репликации Sybase ASA сразу есть поддержка глобальных инкрементов по коду БД, что снимает вопрос о сливании данных в центральную БД. Есть возможность писать триггера в центральной БД для разрешения конфликтов одновременного обновления записи в нескольких удаленных БД. Есть возможность фильтровать потоки репликации по условиям и по принадлежности информации к подразделениям. Есть поддержка протоколов доставки через почту, файлы и FTP, без требования прямой видимости центральной БД. Все это означает то, что при проектировании приложения с двусторонней репликацией и даже многоуровневой вложенности подразделений, не потребуются дополнительные затраты на доработку схемы БД или функционала. А вот своими средствами, сбоку от СУБД, без всякого универсализма - оно дороже и выйдет, причем как раз с тем самым универсализмом ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 14:26 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS В репликации Sybase ASA сразу есть поддержка глобальных инкрементов по коду БД Ух ты! И как же она работает в отсутствие "прямой видимости"? Телепатия, не иначе... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 14:47 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov ASCRUS В репликации Sybase ASA сразу есть поддержка глобальных инкрементов по коду БД Ух ты! И как же она работает в отсутствие "прямой видимости"? Телепатия, не иначе... Замечательно работает. Без телепатии, но с помощью протоколов обмена данными FTP или email. Надеюсь для них не нужна прямая видимость центральной БД для удаленной ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 15:13 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS Замечательно работает. Без телепатии, но с помощью протоколов обмена данными FTP или email. Гениально! Т.е. чтобы в одном из офисов получить новое значение глобального инкремента, надо послать запрос через e-mail и подождать пока на него ответят. И как это я сам не догадался... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 15:29 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
В общем остановился на MS SQL Express. 2k для нашей конторы многовастенько будет пока. Ну а с репликацией придется помудрить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 16:13 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov ASCRUS Замечательно работает. Без телепатии, но с помощью протоколов обмена данными FTP или email. Гениально! Т.е. чтобы в одном из офисов получить новое значение глобального инкремента, надо послать запрос через e-mail и подождать пока на него ответят. И как это я сам не догадался... Ну не надо так ерничать, просто эти измения произведет сама субд без участия пользователя и программиста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 16:43 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Sergey Orlov эти измения произведет сама субд без участия пользователя и программиста Какие "эти"? Меня действительно интересует механизм работы генератора глобально-уникального инкремента в распределённой системе Sybase ASA. Но всё, что я вижу это уже второе сообщение, о том, что всё работает "автоматически" "через FTP или e-mail". Начинаю подозревать, что там всё-таки добавляется дополнительное поле в каждую таблицу, содержащее идентификатор БД... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 19:11 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Полуденный, я в свое время сел на Firebird, потому что возни с ним намного меньше чем с MS SQL или чем-то подобным. Он меньше танцев требует сам по себе и язык у него ИМХО более удобен. Освоить его получится быстрее. Рассмотрите такой аргумент. А по поводу возможностей - ваши нужды с процентами покроет любой сервер. Надежность существующих серверов адекватна, они развиваются десятки лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 21:38 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Sergey Orlov эти измения произведет сама субд без участия пользователя и программиста Какие "эти"? Меня действительно интересует механизм работы генератора глобально-уникального инкремента в распределённой системе Sybase ASA. Но всё, что я вижу это уже второе сообщение, о том, что всё работает "автоматически" "через FTP или e-mail". Начинаю подозревать, что там всё-таки добавляется дополнительное поле в каждую таблицу, содержащее идентификатор БД... Для снятия подозрений, вопросов и догадов - на sybase.com есть полная онлайн документация по всем продуктам. Откройте ее по продукту SQL Anywhere, найдите там команду CREATE TABLE, в ней очень подробно будет расписан GLOBAL AUTOINCREMENT и как он работает на распределенных базах по GLOBAL DATABASE ID. Таким же макаром там можно будет почитать по репликации, как можно от центральной базы в подписке указать фильтрацию информации по ее принадлежности распределенным БД, как решаются конфликты обновления записей, как работает репликация через почту и FTP, и т.д. Ничего там сложного или фантастического нет, просто на лицо продуманная функциональность, реализованная штатно в движке СУБД, где механизму репликации уже более десятка лет и он фактически уже давно почти не имеет изменений и исправлений в новых версиях ASA по той простой причине, что полностью обеспечивает требуемую работу. Если изменения и идут, то только с учетом развития движка ASA (появление снапшотов, мат представлений и прочие расширения, которые должен учитывать сервер репликаций). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2009, 23:07 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS ...Для снятия подозрений, вопросов и догадов - на sybase.com есть полная онлайн документация по всем продуктам. Откройте ее по продукту SQL Anywhere...Не, ну это моветон посылать читать документацию, вместо того чтобы парой слов объяснить как такое в принципе возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 00:40 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
SergSuperASCRUS ...Для снятия подозрений, вопросов и догадов - на sybase.com есть полная онлайн документация по всем продуктам. Откройте ее по продукту SQL Anywhere...Не, ну это моветон посылать читать документацию, вместо того чтобы парой слов объяснить как такое в принципе возможноВ ASA эта тема действительно красиво сделана (читал по диагонали книжко по девятке). Во первых можно использовать unsigned big int, задаешь сколько значений можно выделить набазу (к примеру миллиард), каждой базе автоматически присваевается номер и автоинкремент уже от него пляшет, то есть в одной с 1 по 100000... в следующей с 1000...1 по .... и тд. Это очень упрощенно, так как сам уже забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 10:50 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
SergSuperASCRUS ...Для снятия подозрений, вопросов и догадов - на sybase.com есть полная онлайн документация по всем продуктам. Откройте ее по продукту SQL Anywhere...Не, ну это моветон посылать читать документацию, вместо того чтобы парой слов объяснить как такое в принципе возможно http://sybase.sql.ru/asa9/SQL_Remote_Users_Guide_Rus.rar страница 110, раз уж очень интересно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 10:50 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
SergSuper Не, ну это моветон посылать читать документацию, вместо того чтобы парой слов объяснить как такое в принципе возможно Да ладно, теперь уже и без чтения понятно, что это особый "pre-defined" тип данных повышенного размера с разведением по диапазону. Ничего нового или интересного. С тем же успехом это мог бы быть и GUID... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 13:31 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov SergSuper Не, ну это моветон посылать читать документацию, вместо того чтобы парой слов объяснить как такое в принципе возможно Да ладно, теперь уже и без чтения понятно, что это особый "pre-defined" тип данных повышенного размера с разведением по диапазону. Ничего нового или интересного. С тем же успехом это мог бы быть и GUID... Из интересного в данном случае то, что разведение по диапазоном штатно поддерживается СУБД и не требует каких либо трудозатрат по реализации. GUID действительно можно назвать заменой, но с моей точки зрения - плохой заменой, ибо он самый плохой кандидат для PK и FK с точки зрения индексирования и производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 11:48 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS Из интересного в данном случае то, что разведение по диапазоном штатно поддерживается СУБД и не требует каких либо трудозатрат по реализации. За исключением выбора типа первичного ключа при проектировании БД. Или оно может обычный Integer проальтерить в этот GLOBAL INCREMENT? ASCRUS он самый плохой кандидат для PK и FK с точки зрения индексирования и производительности. У Sybase всё так плохо с индексацией строк? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 13:30 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Из интересного в данном случае то, что разведение по диапазоном штатно поддерживается СУБД и не требует каких либо трудозатрат по реализации. За исключением выбора типа первичного ключа при проектировании БД. Или оно может обычный Integer проальтерить в этот GLOBAL INCREMENT? INCREMENT это не тип поля, а функциональность. INCREMENT в ASA может навешиваться на любое числовое поле - от tinyint до unsigned bigint. Поэтому при проектировании модели БД, если Вам известны максимальное кол-во записей для таблицы и оно не будет превышаться, Вы можете использовать любой подходящий целочисленный знаковый или беззнаковый тип для такой таблицы. Dimitry SibiryakovУ Sybase всё так плохо с индексацией строк? У компании Sybase ничего не может быть общего с индексацией строк, если какие то индексы и есть, то наверное котировок акций. У продуктов компании Sybase, то есть серверов ASA, ASE и IQ вполне все нормально с индексацией строк. Но если логически взглянуть на то, что такое индекс, как он хранится, производится балансировка, работает статистика и на основании какой информации оптимизатор принимает решение об использовании того или иного индекса, то становится ясным, почему индекс на базе числового поля с равномерными инкрементными значениями будет выгоднее GUID с хаотичными рандом значениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 14:53 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS Поэтому при проектировании модели БД, если Вам известны максимальное кол-во записей для таблицы и оно не будет превышаться, Вы можете использовать любой подходящий целочисленный знаковый или беззнаковый тип для такой таблицы. А если неизвестны? Предположим, я выбрал bigint increment, а потом решил преобразовать его в global increment. Чем мне на это ответит ASA? ASCRUS Но если логически взглянуть на то, что такое индекс, как он хранится, производится балансировка, работает статистика и на основании какой информации оптимизатор принимает решение об использовании того или иного индекса, то становится ясным, почему индекс на базе числового поля с равномерными инкрементными значениями будет выгоднее GUID с хаотичными рандом значениями. Возможно, но global increment не будет равномерным по определению: в нём будут присутствовать сильно разнесённые (но при этом плотные) диапазоны значений из всех БД. В то время как GUID даст более-менее равномерное распределение на всём пространстве значений, что повысит селективность индекса и ускорит его использование. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 15:11 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Дмитрий, нет типа GLOBAL INCREMENT. Скажите, чем для Вас отличаются следующие определения полей: id unsigned bigint DEFAULT AUTOINCREMENT id unsigned bigint DEFAULT GLOBAL AUTOINCREMENT Изменить DEFAULT с обычного инкремента на глобальный через ALTER TABLE тоже не представляется сложным в рамках стандартного SQL. Вы ищите проблем там, где их нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 16:52 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Возможно, но global increment не будет равномерным по определению: в нём будут присутствовать сильно разнесённые (но при этом плотные) диапазоны значений из всех БД. В то время как GUID даст более-менее равномерное распределение на всём пространстве значений, что повысит селективность индекса и ускорит его использование. Равномерное распределение значений и GUID как то у меня не ассоциируются вместе, ровно как и скорость выборок в индексах по нему. Есть еще много впечатлений про использование GUID в качестве ключей, но предлагаю это замять, так как тянет на целое обсуждение. Я все таки не очень понял - чем Вас не устраивает решение, предложенное в ASA ? Тем что оно старое и работает - такие возражения не принимаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 16:56 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS Я все таки не очень понял - чем Вас не устраивает решение, предложенное в ASA ? Меня не устраивает это решение? Почему Вы так думаете? Я просто пытаюсь определить тип магии, применённой там для генерации уникальных значений в распределённой БД. Понятно, что используется некий "идентификатор БД", но откуда он берётся и каким способом укладывается в обычный целый тип пока неясно. Оппоненты настаивают, что всё делается автоматически, а это подозрительно, поскольку даже bigint не резиновый, а выяснять при создании БД уже использованные "идентификаторы БД" серверу мешает связь через FTP или e-mail. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2009, 17:10 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov ASCRUS Я все таки не очень понял - чем Вас не устраивает решение, предложенное в ASA ? Меня не устраивает это решение? Почему Вы так думаете? Я просто пытаюсь определить тип магии, применённой там для генерации уникальных значений в распределённой БД. Понятно, что используется некий "идентификатор БД", но откуда он берётся и каким способом укладывается в обычный целый тип пока неясно. Оппоненты настаивают, что всё делается автоматически, а это подозрительно, поскольку даже bigint не резиновый, а выяснять при создании БД уже использованные "идентификаторы БД" серверу мешает связь через FTP или e-mail. В БД есть опция Global_DataBase_ID. Для консолидированной БД Вы ее устанавливаете в 0. Распределенные БД нумеруете по очереди дальше (или подгатавливаете распределенную БД с консолидированной штатными средствами ASA, которые сразу присваивают ей очередной код БД, создают БД, переносят в нее обьекты БД и все данные, которые по условиям репликации будут в области видимости распределенной БД). Теперь примеры по проектированию. У Вас есть таблица, которая изменяется только в центре и односторонне реплицируется в распределенные БД. Если данных в ней не планируется более 4 млрд. записей, то Вы обьявляете в ней тип unsigned int, ставите DEFAULT AUTOINCFREMENT, прописываете ее в публикации (в ASA штатно можно выполнить команду на консолидированной БД и она уйдет по реплике и выполнится на всех распределенных БД, так что звонить и просить всем в БД писать таблицу в публикацию или писать дополнительный код для этого не придется). Все как обычно с инкрементами. Далее у Вас есть таблица, в которой в консолидированной БД в итоге может быть более 4 млрд записей, она будет участвовать в двусторонней репликации, где планируется, что в каждой распределенной БД свой интервал записей не превысит 1 млрд записей. Тогда Вы обьявляете в ней тип unsigned bigint, пишите DEFAULT GLOBAL AUTOINCREMENT (1000000000), так же включаете ее в реплику. Теперь у Вас записи, введенные в консолидированной БД в эту таблицу, начнут нумероваться с 1, для распределенной базы 1 начнут нумероваться с 1000000001 и так для каждой базы далее, поэтому при сливе записей в консолидированную БД наложений PK или UK не будет. Но что же делать, если все таки какая то распределенная БД достигнет предела своей нумерации ? ASA так же предлагает штатно решить эту проблему - пишите событие (EVENT) на внутренней системное событие RemainingValues, в котором или присваиваете новый код БД или отсылаете письмо администратору с уведомлением, если не хотите делать автоматом. Теперь вопрос - что будет для консолидированной БД, если распределенная БД изменит свой код и начнет генерить ключи в новом диапазоне ? Ответ - да ничего не будет, репликация будет продолжать работать, так как уникальность соблюдается, логика тоже будет работать, так как глобальные инкременты и код БД - это просто штатный функционал и на бизнес логику он никакого отношения не влияет. Логика распределения данных должна уже быть спроектирована самим архитектором БД - если БД на самом деле одна, просто есть удаленные или мобильные офисы, которые не могут с ней работать из за плохих или периодических каналов связи - то достаточно просто навесить на таблицы БД двустороннюю репликацию. Если в наличии удаленные подразделения (филиалы), значит будет справочник подразделений, в таблицах будет стоять поле КодПодразделения, в реплике на таблицы, данные которых имеют область видимости по подразделениям будет стоять определение области видимости в публикации по полю КодПодразделения, а для подписок распределенных БД указано значение КодПодразделения. Таким образом, если в распределенной БД вводится запись, она попадает в консолидированную БД, если в консолидированной БД добавить запись с кодом подразделения, на которую крутиться распределенная БД, то эта запись так же в итоге добавится в распределенную БД этого подразделения, но не появится в прочих распределенных БД, имеющих другой код подразделения. Все это позволяет строить многоуровневые схемы репликации, разбивая потоки реплицируемых данных по нужной логике, где можно запросто поднять консолидированную БД, на нее навесить 2 распределенных БД с разной областью видимости, на каждую из них навесить еще по 2 распределенных БД, у которых будет одинаковая область видимости и т.д. и т.п. Все управление данным хозяйством реализовано штатным DDL и функциями (например для инкрементов и глобальных инкрементов есть функция, которая возвращает новое значение для указанной таблицы и является аналогом сиквенсеров). Сервер репликации так же управляется прямо из SQL. Для каждой из распределенной БД сервер репликации может использовать доставку из 3 способов передачи информации - файлами через зашаренный ресурс, email или ftp. Все это организуется автоматически и сервер репликации сам с лога БД считывает изменения, определяет куда они реплицируются, нарезает файлы с информацией, кладет их по нужному протоколу, забирает ответные файлы от второй стороны, и применяет их на БД. В случае ошибок (не хватает файлов, не сошлось CRC и т.д.), он тем же способом генерит запросы к второй стороне (просьба переслать повторно, необходима информация начиная с такого то места и т.д.). P.S. Я лично из виденного считаю репликацию ASA лучшей в реализации, именно из за того, что она штатно и гармонично составляет единое целое с самим сервером, поэтому достигается такая легкость в проектировании, настройке и управлении ею. Any questions ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2009, 09:23 |
|
||
|
Выбор СУБД для маленькой компании
|
|||
|---|---|---|---|
|
#18+
ASCRUS В БД есть опция Global_DataBase_ID. Для консолидированной БД Вы ее устанавливаете в 0. Ага, вот этого-то я и добивался. Т.е. всё происходит не совсем автоматически, а либо руками либо визардом. Вот теперь всё ясно и никакой мистики. Спасибо. Да, судя по описанию, репликация в ASA действительно сделана отлично. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2009, 14:55 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1552998]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 398ms |

| 0 / 0 |
