|
|
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Добрый день! Ситуация: Сейчас есть база на 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 с такой нагрузкой? Какую БД выбрать? Сколько она будет стоить (пожалуй самый главный вопрос)? С точки зрения БД все запросы идут от одного аккаунта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 10:36 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Как я понимаю, основная проблема с производительностью в полнотекстовом поиске по большим таблицам? Тогда проще и дешевле всего настроить кластер writeOne-readAny на MySQL(через репликацию) , разделить пользователей по отдельным базам. Решение стандартное, много где описанное. Тут придется тратиться на железо, правда. Но зато можно легко увеличивать скорость выполнения запросов. Как себя ведет репликация MySQL на неустойчивом канале - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 12:07 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
с ораклом бы выглядело так: документы можно хранить в базе как blob или как bfile на фс оси. bfile можно синхронизировать rsync или чем то типа того. full text search из коробки обучен только английским словоформам. репликация - обычная мастер-мастер, аудит - тоже стандартная фича. стоит $5K на сокет (standart edition one) если канал между серверами совсем плохой, то вроде есть более продвинутая репликация для оракла у sybase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 13:08 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
DPHКак я понимаю, основная проблема с производительностью в полнотекстовом поиске по большим таблицам? Тогда проще и дешевле всего настроить кластер writeOne-readAny на MySQL(через репликацию) , разделить пользователей по отдельным базам. Решение стандартное, много где описанное. Тут придется тратиться на железо, правда. Но зато можно легко увеличивать скорость выполнения запросов. Как себя ведет репликация MySQL на неустойчивом канале - не знаю. Боюсь что через какое-то время не хватит основного сервера на прием документов. Плюс каждое чтение сопровождается записью в историю побывавших. Хотя, по идее, эту статистику можно сохранять на локальной базе(не реплицировать). Плюс переписывать подстилку на perl - работу с двумя серверами, что никак не упрощает разработку. Хотелось всё это переложить на БД. Но решение приемлимое, на самом деле. Осталось проверить восстановление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 15:39 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Yo.!с ораклом бы выглядело так: документы можно хранить в базе как blob или как bfile на фс оси. bfile можно синхронизировать rsync или чем то типа того. full text search из коробки обучен только английским словоформам. репликация - обычная мастер-мастер, аудит - тоже стандартная фича. стоит $5K на сокет (standart edition one) rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо? full text search - надо докупать или он в коробке? Опять же 5К$ на сокет это плюс к основному дистрибутиву(48К$ на сервер)? Таких денег только астрономы не боятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 15:45 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
arrrght rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо? юниксовая, если блоб - не надо через репликацию думаю пойдет (хотя bfile может тоже пойдет через репликацию ... хз). arrrght full text search - надо докупать или он в коробке? в коробке, но он по запросу "понос" найдет только "понос" и не найдет "поносный", "дерьмо" и т.п. arrrght Опять же 5К$ на сокет это плюс к основному дистрибутиву(48К$ на сервер)? Таких денег только астрономы не боятся. нет, просто $5K, 2 CPU quard-core XEON (8 ядер) потянет на $10K + 22% за супорт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 16:03 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Yo.![quot arrrght] rsync *nix-овая команда или oracle? Если хранить blob в базе тогда оно не надо? юниксовая, если блоб - не надо через репликацию думаю пойдет (хотя bfile может тоже пойдет через репликацию ... хз). arrrght full text search - надо докупать или он в коробке? в коробке, но он по запросу "понос" найдет только "понос" и не найдет "поносный", "дерьмо" и т.п. Класс. Спасибо. По деньгам должен пройти. Пройдет. Уже установил один на Linux, осталось поставить второй на себя(XP) и сломать основной :) В идеале все должно идти полностью автоматом. Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 16:11 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Рискну предложить PostgreSQL. Сам я полнотекстовым поиском не занимаюсь, по-этому не много не в теме, но доп.модули для этого есть (tsearch2), в версии 8.3 они будут встроены. Есть эффективный индекс (GIN) под это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 15:44 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Funny_FalconРискну предложить PostgreSQL.Автору необходима асинх. мультимастер репликация. arrrght Хотим подключить еще один сервер в другом городе - пользователей добавится +30. Надо, чтобы они работали со своим сервером, чтобы экономить траффик и разгрузить основной сервер. Каким образом это сделать? Если Интернет упадет - как базы будут синхронизироваться? В идеале - пропал инет - можно только искать по базе - появился инет - синх - можно добавлять.Чего в PostgreSQL нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 06:36 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Достаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации. Насчет FTS - сложнее. Тут подсказать многого не смогу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 00:37 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Что такое FTS не знаю, но ни у PostgreSQL ни у ее клона EnterpriseDB нет нормальной репликации. Только поэтому сидим на MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 06:48 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
А как насчёт Informix? Там есть что-то подобное? А такое впечатление что кроме Oracle больше нет вариантов. В конце концов можно как-нибудь обойтись без FTS, но репликация нужнее. В идеале будет стоять много не очень сильных машин, на каждый офис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 10:41 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
AAronДостаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации. Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 11:13 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
chel_2000 AAronДостаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации. Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших." Sybase стоит немерянно : Разговаривал с манагером - он мне на мой духголовый сервер насчитал 96К$ !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 13:49 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
2arrrght: А он вам что считал ASA или ASE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 14:51 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 15:04 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Ggg_old2arrrght: А он вам что считал ASA или ASE? Если ASE, то Entrprise или Small Business? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 16:51 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
arrrght Sybase стоит немерянно : Разговаривал с манагером - он мне на мой духголовый сервер насчитал 96К$ !! Он вам насчитал ASE, там да бабок немерянно. Пусть посчитает на ASA, он и с нагрузкой справится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 17:54 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
chel_2000 AAronДостаточно стандартная реализация. В любом из серверов Oracle, MS, Sybase (ASA), DB2 нормально решаются вопросы репликации. Нормально решаются вопросы с репликацией на хороших каналах связи. А на плохих кроме как у Sybase решаются не очень хорошо. Imho, выбор "что больше нравится на хороших каналах-Sybase на нехороших." не будет спорить, тем более я указал, что лучше использовать ASA. Вообще, возможны варианты - бесплатный Ora на местах, платный Ora в центре - или любой другой вариант (MS, DB2). Я не в курсе, есть ли бесплатные редакции ASA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 22:11 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Официально бесплатных версий ASA для деплоя нет, но для целей теста и разработки есть в свободном доступе developer edition и он ничем функционально не ограничен.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 23:39 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
arrrghtА как насчёт Informix? В Informix есть несколько типов репликации, вам нужна насколько я понял в обе стороны c множеством участников (серверов), называется она Enterprise Replication. Посмотрел - данные типа Blob она тоже может реплицировать. Полнотекстовой поиск внутри документов в базе возможен с помощью доп.модуля BasicTextSearch Datablade. Размеры баз и кол-во пользователей для Informix не проблема (при наличии админа конечно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 14:51 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
drunk2Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие. Не смотрите ни в коем случае, намучаетесь по самое нихочу! MS SQL выбирай - не ошибешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 12:01 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
*alex++ drunk2Посмотрите бесплатный Firebird. Репликаторы для него есть, правда не знаю какие. Не смотрите ни в коем случае, намучаетесь по самое нихочу! MS SQL выбирай - не ошибешься.Аргументы какие-нибудь не потрудитесь привести? С чем Вы мучались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 20:47 |
|
||
|
Помогите выбрать БД на 300 человек и 10 офисов
|
|||
|---|---|---|---|
|
#18+
Аргументы какие-нибудь не потрудитесь привести? С чем Вы мучались? Гы. Друг, MS-SQL-щик пытался FireBird освоить. "Ниасилил": Ни временных таблиц, ни встроенных средств репликации, ни чтение залочить на время записи. ... Да и IBExpert "слишком пестрый" (сложно, типа). ... Никто не подсказывает, какие индексы надо бы создать. ... Очень мало встроенных функций. ... Нет возможности создавать функции на встроенном языке. ... С dependecies не разобрался. ... Лога нет (хотя сам он в MS SQL никогда его и не юзал). ... Гетерогенные запросы низя. ... FullText встроенного нет. ... ... Не привык он к такому, короче. Вот и сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2007, 17:06 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34734874&tid=1553258]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 145ms |

| 0 / 0 |
