Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
Добрый день!

Ситуация:

Сейчас есть база на MySQL состоящая из 112 таблиц, в среднем по 10-50 Мб на таблицу, но есть пара тяжелых таблиц с документами - 20Гб и 15Гб, по которым идет FULLTEXT поиск.
В среднем поиск нужного документа идет по 10-15 таблицам(кто/когда сделал, какой проект, участники, и.т.д) - можно сказать довольно тяжелый - 5-7 секунд на поиск.
Активных пользователей - 50 штук, поисковых запросов в день на одного пользователя - 70-100.
Бывает что одновременно захотят искать около 10 пользователей.
Плюс постоянно (около 1-2 в секунду) мелких запросов на всех.
Все подключаются через веб-клиент, там же и загружают документы, около 50-60 в день.
На сервере принимающая программа написана на perl - она почти не занимается никаким вычислениями или проверками - тупо формирует запрос CALL, принимает ответ и отдает клиенту.

Проблема 0:
Все это работает на быстрых таблицах MYISAM, без связей с таблицами и транзакциями.
Здесь без вопросов - надо будет переделывать на InnoDB, так что будет работать еще медленнее.

Проблема 1:
Невозможно искать в определенном месте в документа (большинство документов однотипные). Надо перевести все это в XML(если есть решение лучше - скажите), и искать там по полям, что MySQL не может(пока).

Проблема 2:
Хотим подключить еще один сервер в другом городе - пользователей добавится +30.
Надо, чтобы они работали со своим сервером, чтобы экономить траффик и разгрузить основной сервер. Каким образом это сделать? Если Интернет упадет - как базы будут синхронизироваться?
В идеале - пропал инет - можно только искать по базе - появился инет - синх - можно добавлять.
Более того надо вести лог - кто куда лазил и что делал.

Проблема 3:
В течении года пользователей может добавится до 300, офисов - до 10.
Соотвественно БД вырастет до 100 Гб.

Справится ли MySQL с такой нагрузкой?
Какую БД выбрать?
Сколько она будет стоить (пожалуй самый главный вопрос)?
С точки зрения БД все запросы идут от одного аккаунта.
9 авг 07, 10:36    [4500470]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
DPH
Guest
Как я понимаю, основная проблема с производительностью в полнотекстовом поиске по большим таблицам?

Тогда проще и дешевле всего настроить кластер writeOne-readAny на MySQL(через репликацию) , разделить пользователей по отдельным базам. Решение стандартное, много где описанное.
Тут придется тратиться на железо, правда. Но зато можно легко увеличивать скорость выполнения запросов.
Как себя ведет репликация MySQL на неустойчивом канале - не знаю.
9 авг 07, 12:07    [4501245]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Yo.!
Guest
с ораклом бы выглядело так:
документы можно хранить в базе как blob или как bfile на фс оси. bfile можно синхронизировать rsync или чем то типа того. full text search из коробки обучен только английским словоформам. репликация - обычная мастер-мастер, аудит - тоже стандартная фича. стоит $5K на сокет (standart edition one)
если канал между серверами совсем плохой, то вроде есть более продвинутая репликация для оракла у sybase.
9 авг 07, 13:08    [4501778]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
DPH
Как я понимаю, основная проблема с производительностью в полнотекстовом поиске по большим таблицам?

Тогда проще и дешевле всего настроить кластер writeOne-readAny на MySQL(через репликацию) , разделить пользователей по отдельным базам. Решение стандартное, много где описанное.
Тут придется тратиться на железо, правда. Но зато можно легко увеличивать скорость выполнения запросов.
Как себя ведет репликация MySQL на неустойчивом канале - не знаю.


Боюсь что через какое-то время не хватит основного сервера на прием документов.
Плюс каждое чтение сопровождается записью в историю побывавших.
Хотя, по идее, эту статистику можно сохранять на локальной базе(не реплицировать).

Плюс переписывать подстилку на perl - работу с двумя серверами, что никак не упрощает разработку.
Хотелось всё это переложить на БД.

Но решение приемлимое, на самом деле. Осталось проверить восстановление.
9 авг 07, 15:39    [4503314]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
Yo.!
с ораклом бы выглядело так:
документы можно хранить в базе как blob или как bfile на фс оси. bfile можно синхронизировать rsync или чем то типа того. full text search из коробки обучен только английским словоформам. репликация - обычная мастер-мастер, аудит - тоже стандартная фича. стоит $5K на сокет (standart edition one)


rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо?
full text search - надо докупать или он в коробке?
Опять же 5К$ на сокет это плюс к основному дистрибутиву(48К$ на сервер)?
Таких денег только астрономы не боятся.
9 авг 07, 15:45    [4503357]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Yo.!
Guest
arrrght

rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо?

юниксовая, если блоб - не надо через репликацию думаю пойдет (хотя bfile может тоже пойдет через репликацию ... хз).

arrrght

full text search - надо докупать или он в коробке?

в коробке, но он по запросу "понос" найдет только "понос" и не найдет "поносный", "дерьмо" и т.п.

arrrght

Опять же 5К$ на сокет это плюс к основному дистрибутиву(48К$ на сервер)?
Таких денег только астрономы не боятся.

нет, просто $5K, 2 CPU quard-core XEON (8 ядер) потянет на $10K + 22% за супорт
9 авг 07, 16:03    [4503491]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
Yo.!
[quot arrrght]
rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо?

юниксовая, если блоб - не надо через репликацию думаю пойдет (хотя bfile может тоже пойдет через репликацию ... хз).

arrrght

full text search - надо докупать или он в коробке?

в коробке, но он по запросу "понос" найдет только "понос" и не найдет "поносный", "дерьмо" и т.п.


Класс. Спасибо. По деньгам должен пройти. Пройдет.
Уже установил один на Linux, осталось поставить второй на себя(XP) и сломать основной :)
В идеале все должно идти полностью автоматом.
Попробую.
9 авг 07, 16:11    [4503555]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Funny_Falcon
Member

Откуда:
Сообщений: 447
Рискну предложить PostgreSQL.
Сам я полнотекстовым поиском не занимаюсь, по-этому не много не в теме, но доп.модули для этого есть (tsearch2), в версии 8.3 они будут встроены. Есть эффективный индекс (GIN) под это дело.
10 авг 07, 15:44    [4509449]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
drunk2
Member

Откуда: kaz->rus
Сообщений: 140
Funny_Falcon
Рискну предложить PostgreSQL.
Автору необходима асинх. мультимастер репликация.
arrrght
Хотим подключить еще один сервер в другом городе - пользователей добавится +30.
Надо, чтобы они работали со своим сервером, чтобы экономить траффик и разгрузить основной сервер. Каким образом это сделать? Если Интернет упадет - как базы будут синхронизироваться?
В идеале - пропал инет - можно только искать по базе - появился инет - синх - можно добавлять.
Чего в PostgreSQL нет.
13 авг 07, 06:36    [4514340]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
Достаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации. Насчет FTS - сложнее. Тут подсказать многого не смогу.
15 авг 07, 00:37    [4525937]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
не FTS
Guest
Что такое FTS не знаю, но ни у PostgreSQL ни у ее клона EnterpriseDB нет нормальной репликации. Только поэтому сидим на MS SQL.
15 авг 07, 06:48    [4526132]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
А как насчёт Informix?
Там есть что-то подобное? А такое впечатление что кроме Oracle больше нет вариантов.
В конце концов можно как-нибудь обойтись без FTS, но репликация нужнее.
В идеале будет стоять много не очень сильных машин, на каждый офис.
16 авг 07, 10:41    [4532996]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
chel_2000
Member

Откуда: Москва
Сообщений: 835
AAron
Достаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации.

Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших."
16 авг 07, 11:13    [4533203]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
arrrght
Member

Откуда:
Сообщений: 7
chel_2000
AAron
Достаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации.

Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших."


Sybase стоит немерянно :
Разговаривал с манагером - он мне на мой духголовый сервер насчитал 96К$ !!
16 авг 07, 13:49    [4534671]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
2arrrght:
А он вам что считал ASA или ASE?
16 авг 07, 14:51    [4535263]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
drunk2
Member

Откуда: kaz->rus
Сообщений: 140
Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие.
16 авг 07, 15:04    [4535370]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
just me
Guest
Ggg_old
2arrrght:
А он вам что считал ASA или ASE?


Если ASE, то Entrprise или Small Business?
16 авг 07, 16:51    [4536361]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4508
arrrght

Sybase стоит немерянно :
Разговаривал с манагером - он мне на мой духголовый сервер насчитал 96К$ !!

Он вам насчитал ASE, там да бабок немерянно. Пусть посчитает на ASA, он и с нагрузкой справится.
16 авг 07, 17:54    [4536980]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
chel_2000
AAron
Достаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации.

Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших."

не будет спорить, тем более я указал, что лучше использовать ASA.
Вообще, возможны варианты - бесплатный Ora на местах, платный Ora в центре - или любой другой вариант (MS, DB2).
Я не в курсе, есть ли бесплатные редакции ASA?
16 авг 07, 22:11    [4537690]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
Официально бесплатных версий ASA для деплоя нет, но для целей теста и разработки есть в свободном доступе developer edition и он ничем функционально не ограничен..
16 авг 07, 23:39    [4537825]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
arrrght
А как насчёт Informix?


В Informix есть несколько типов репликации, вам нужна насколько я понял в обе стороны c множеством участников (серверов), называется она Enterprise Replication. Посмотрел - данные типа Blob она тоже может реплицировать.
Полнотекстовой поиск внутри документов в базе возможен с помощью доп.модуля BasicTextSearch Datablade.
Размеры баз и кол-во пользователей для Informix не проблема (при наличии админа конечно).
17 авг 07, 14:51    [4540328]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
*alex++
Member

Откуда:
Сообщений: 80
drunk2
Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие.

Не смотрите ни в коем случае, намучаетесь по самое нихочу!
MS SQL выбирай - не ошибешься.
18 авг 07, 12:01    [4543179]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
*alex++
drunk2
Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие.

Не смотрите ни в коем случае, намучаетесь по самое нихочу!
MS SQL выбирай - не ошибешься.
Аргументы какие-нибудь не потрудитесь привести? С чем Вы мучались?
18 авг 07, 20:47    [4543755]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
ГыГыГыг
Guest
Аргументы какие-нибудь не потрудитесь привести? С чем Вы мучались?

Гы.

Друг, MS-SQL-щик пытался FireBird освоить.

"Ниасилил":

Ни временных таблиц, ни встроенных средств репликации, ни чтение залочить на время записи.
...
Да и IBExpert "слишком пестрый" (сложно, типа).
...
Никто не подсказывает, какие индексы надо бы создать.
...
Очень мало встроенных функций.
...
Нет возможности создавать функции на встроенном языке.
...
С dependecies не разобрался.
...
Лога нет (хотя сам он в MS SQL никогда его и не юзал).
...
Гетерогенные запросы низя.
...
FullText встроенного нет.
...
...
Не привык он к такому, короче. Вот и сложности.
19 авг 07, 17:06    [4544594]     Ответить | Цитировать Сообщить модератору
 Re: Помогите выбрать БД на 300 человек и 10 офисов  [new]
tortoise
Member

Откуда: UK
Сообщений: 532
посмотрите в сторону Lotus Notes + DB2 - это придумывалось специально для подобных задач
20 авг 07, 12:28    [4546513]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить