Задали мне задачку: Надо создать БД размером в 45 гигабайт............ Как сделать так чтоб не тормозило????? Поиск по такой базе - задача не для шумахеров)
click_and_die Замечательная постановка вопроса. Интересно, что ты ожидаешь услышать в ответ? Все зависит от данных и от того, что и как именно должно "не тормозить". Не забывай про индексы, разумно распредели данные по таблицам, партиционирование таблиц можешь сделать, если имеет смысл. Базу данных выбирай Oracle или DB2, бери нормальную машину (пара процессоров, от 4GB оперативки). Для менее расплывчатых советов не хватает информации.
Ну.... есть сеть. Большая. В сети есть ресурсы. Видео, графика, тексты... Необходимо написать такую прогу, которая бы: 1= Отвечала за регистрацию/удаление/авторизацию юзеров 2= Управляла даменами и поддоменами разных уровней 3= Поисковая система по указанным ресурсам. 4= Классификатор пользователей 5= ведение тематических каталогов для ресурсов 6= управление почтой (POP3, SMTP) 7= Обход брандмауэров и файерволов 8= Постоянный сбор и отправка на сервер информации о компьютере клиента *** так пойдет?
Показал начальнику вариант клиента для нашего сервера - он запустил у себя и его тут же отборным матом обругал Касперский. "Эта программа пытается что-то там сделать с другим процессом. Ща убью эту тварь" - что-то вроде этого. На других компах та же фигня.
click_and_die Опиши точнее задачу, а то то что ты написал, это всего лишь эскиз, а не ТЗ! Чего прошу: 1. Цель ПО 2. Входная информация 3. Выходная информация Пример: 1. Облегчить работу по хранение и нахождение нужной эл.книги в краткий срок, когда это надо 2. Наименование, Автор, ISBN, тематика, комментарий, издательство, качество скана 3. Вывод по автору его книги имеющиеся в БД, вывод информации по ввденному ISBN Напиши в таком виде, думаю сразу понятно будет какую СУБД тебе посоветовать и какие шаги дальше делать
EvilsInterrupt 1 - Облегчить поиск мультимедиа ресурсов, предназначенных для обучения/информирования сотрудников НИИ Газа. (обучающие фильмы, статьи, картинки и тд...). 2 - на входе: Login, Password - > Забиваем ключевые слова и получаем результат или смотрим по тематическому каталогу. На основании логина/пароля система контролирует доступ определенного сотрудника к определенному ресурсу. Сотрудники в праве публиковать свои научные работы базе. ------ Вобщем решение принял извращенное, но как я считаю правильное. СУБД - MySQL. WEB-Интерфейс "Сотрудники публикуют работы" - Squid, DNS, Apache->VirtualHosts (Каждому - домен и почтовый ящик) "Облегчить поиск" - PHP -> SearchEngine (Как у яндекса и гугла)
Не вздумай пользоваться FireBird'ом - там SQL урезанный... MySQL - для веба создавался - для больших баз им лучше не пользоваться... Если хочется полностью на шару - есть только PostgreSQL.
Судя по ТЗ база не такая уж и большая если 45Гиг в dvd фильмах мерять то каталог к ним совсем малюсенький получится А тут походу и одним веб (c java) интерфейсом без sql обойтись можно
Пользовался Oracle, FireBird, InterBase, DBISAM, MySql, не успел только Ms SQL по юзать Самое лучшее это Oracle, но для твоей задачи это все равно что кувалдой гвозди забивать! Да, ты забьешь, но зачем кувалдой, если есть молоток? MySQL имхо тяжелей настраивается чем FireBird, 2я к тому же работает шустрее, если возьмешь FireBird 1.5.3, пока бы воздержался от 1.5.4, то получишь довольно много преимуществ: 1. Не надо платить за субд 2. При установке на линукс еще и за ОСь 3. Безопасность на уровне 4. Несмотря на то что не все включено из SQL1999, возможностей для решения твоей задачи хватит Это если решишь на СУБД, но товарищ Y_Mur, верно подметил ты можешь вообще обойтись без СУБД ))) Если же решишься делать с СУБД, то обязательно на NTFS, хотя считается что на FAT скорость записи выше. удачи
Ну..... у меня только исходники FB. Компилятся очень тяжело. За советы всем спасибо. На основе полученных данных проблема будет решена. Если что - задам вопросы.
click_and_die А как эти 10000 пользователей будут работать с базой? В основном операции чтения или записи тоже планируются? Я имею в виду transaction concurrency. Если у тебя часть пользователей будут читать данные, а часть одновременно с этим изменять или добавлять данные, то тут нужен надежный механизм одновременного обслуживания транзакций. Или расписание работы (скажем, днем данные читаются и создаются, а ночью строятся индексы). Тут очень много вопросов на самом деле, поэтому нужно для себя четко уяснить все нюансы, написать хорошее ТЗ, а уж потом, поняв масштабы и сложность задачи, выбирать СУБД. ЗЫ Может тебе подойдет вариант с роботом, загружающим механической лапой диски с данными. Такие системы и терабайты информации способны поддерживать. За счет снижения скорости обслуживания ))
Есть исходники MTS (ворованные) - с ними никто работать не собирается, однако на основе предлагаемого алгоритма можно кое-что свое создать. Тут как вариант - использование профиля и планировщика. В пределах своего профиля проблем с транзакциями не возникнет. Для остальных операций - целесообразно юзать очередь (queue).
click_and_die URL: http://sourceforge.net/project/showfiles.php?group_id=9028 Здесь все что надо про FireBird, сорцы, бинарники, и т.д. и т.п.