Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Создание своего сервера БД / 25 сообщений из 59, страница 1 из 3
15.03.2005, 19:05
    #32961804
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Пиплы, подскажите, если у кого опыт написания своего сервера БД. По большому счету даже не сервера БД, а хранилища данных.

Проект такой, много-очень много документов в ХТМЛ, которые друг на друга ссылаются. Нужно создать сервер где бы это хранилось и иметь возможность локального быстрого доступа к такой структуре, а так же поиск внутри такой структуры

Вопрос на сколько сложно написать нечто подобное и какие ресурсы .. временные и человеческие?

Спасибо.
...
Рейтинг: 0 / 0
15.03.2005, 22:57
    #32962018
Lelikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
У нас тут просто клуб, пишем каждый вечер новый сервер БД))))

А что вы имеете в виду под хранилищем данных?
Вообще написание сервера БД -- нетривиальная и очень трудоемкая задача (если это конечно полноценный СЕРВЕР, а не файл записей)

А чем вас не устраивают существующие продукты? Ведь у вас вполне обычные требования, даже очень легкие

________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
15.03.2005, 23:04
    #32962019
FishingIsGood
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Всё радикально зависит от требований. Если удастся сформулировать трабования с какими то упрощающими предположениями, то задача подъёмная. Простое хранилище написать легко, а более продвинутое очень сложно. Но если ни у кого в вашей команде нет опыта в написании чего нибудь подобного, то я не советовасл бы и браться - потому что очень просто застрять на долго на какой нибудь мелочи о которой забыли подумать вначале.
...
Рейтинг: 0 / 0
16.03.2005, 00:19
    #32962048
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Да и зачем изобретать велосипед?
Если не устраивают GPLные продукты -- есть и pubic domain, доступные для любого использвания.
...
Рейтинг: 0 / 0
16.03.2005, 11:20
    #32962661
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
DocAlДа и зачем изобретать велосипед?
Если не устраивают GPLные продукты -- есть и pubic domain, доступные для любого использвания.

Спасибо всем за проявленный интерес. Отвечаю :)


1) Чем не устраивают существующие?

Прежде всего, тем что хранилище данных (ХД) будет входить как составляющая другого комплекса - Нормативной базы документов. Все должно быть записано на диск и проинсталлированно в 2 щелчка мышки. Пробовали реализовать на МСДЕ (подчеркну что БД должна быть бесплатная), но МСДЕ при инсталляции конфликтует во всем чем не попадя ... то не ставится без Service Pack`а, то его блокирует Антивирус ... и еще миллион проблем, которые не решаются .. а так как софт Бесплатный, то и консультаций никаких от мелкомягкого не дождешься .. что еще использовать для простеньких машин Win 98 ума не приложу .. может подскажете? Да еще встают проблемы защиты от взлома самой бызы...

2) Что должно собой представлять?

Как уже говорил - Нормативная база, т.е много документов, которые между собой связаны, документы хранятся в ХТМЛе. Должна быть возможноть - контекстного поиска, получения, редактирования, сохранения документов, получение списка ссылаемых и ссылающихся документов.. Вообщем-то не мало .. Документы большие и очень большие, по от 4 до 80 страниц текста. Потом нужно будет дописать навесок, что бы можно было из ХД через сеть дёргать документы. Опять же механизмы защиты и прав доступа..


Вот такие скромные задачи .. опыта в написании подобной штуки у команды к сожалению нет :(
...
Рейтинг: 0 / 0
16.03.2005, 12:37
    #32963014
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Рискну процитировать фрагмент статьи.

НектоГде размещать файлы?

Я рассматриваю варианты проекта приложения, в котором пользователи будут загружать и сохранять документы, доступные также для выгрузки другими пользователями. Документы будут в формате Microsoft Word со средним размером, равным 150K. Планируется первоначальное перемещение от 18,000 до 20,000 документов (с компакт-дисков), а при эксплуатации приложения объем хранилища возрастет приблизительно до 25,000 документов. Для загрузки и выгрузки браузер на клиентской машине будет использовать страницы PL/SQL-картриджа. Первоначально к приложению будут обращаться 400 - 500 человек (почти) одновременно, и в течение двух недель к нему будут обращаться 300 человек в день (с рассеянным доступом). Сами документы должны будут храниться в базе данных как данные типа BLOB.

Как вы думаете, это хороший вариант, принимая во внимание эксплуатацию? Будет ли это "деформировать" системную глобальную область (SGA, system global area)? Учитывая требования приложения и браузер на клиентской машине, есть ли другие варианты, не использующие данные типа BLOB, такие, как файловая система?


Том Кайт
Я все храню в базе данных. Точка. Если данные что-нибудь значат для вас, имеют какое-либо значение вообще, то вы в действительности поместите их в базу данных, где они будут профессионально администрироваться, будут создаваться их резервные копии, данные будут восстанавливаемыми и защищенными от несанкционированного доступа. В дополнение к этим явным выгодам, вы также получите возможность индексирования и поиска ваших документов. (Правда, это может быть сделано также и в файловой системе, но тогда не будет никакой целостности между индексом и самим документом.) В базе данных вы получаете возможность преобразования формата документа (например, загрузить DOC-файл и представить его в HTML-формате.) Ваши данные полностью интегрированы, защищены, резервированы и всегда доступны вам.

В корпорации Oracle мы имеем для внутреннего пользования многотерабайтовую базу данных, используемую как единый файловый сервер для всей компании. Все документы компании находятся там – зарезервированные, пригодные для поиска, проиндексированные и полностью доступные – в одном-единственном месте. Управление тысячами тысяч документов было бы невозможным, если бы они находились в обычной файловой системе (даже если бы файловая система смогла разместить их всех).
...
Рейтинг: 0 / 0
16.03.2005, 12:43
    #32963047
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Поглядите на SQLite
...
Рейтинг: 0 / 0
16.03.2005, 12:45
    #32963056
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Сначала ответил, потом прочитал требования...
...
Рейтинг: 0 / 0
16.03.2005, 12:47
    #32963066
Alexey Rovdo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
А что за проект такой? И почему вы рассматривали только бесплатные продукты? Ведь прочитав ваш вопрос так и хочется ответить что-то вроде:
вам понадобится порядка 5-10 лет и 10-20 млн. долларов ...
...
Рейтинг: 0 / 0
16.03.2005, 12:50
    #32963074
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
mayton
В корпорации Oracle мы имеем для внутреннего пользования многотерабайтовую базу данных, используемую как единый файловый сервер для всей компании. Все документы компании находятся там – зарезервированные, пригодные для поиска, проиндексированные и полностью доступные – в одном-единственном месте. Управление тысячами тысяч документов было бы невозможным, если бы они находились в обычной файловой системе (даже если бы файловая система смогла разместить их всех).

Абсолютно согласен с автором, но осмелюсь напомнить, что для того, что бы можно было продать диск, он должен в себя включать ВСЕ и базу и сервер и клиентсую оболочку, для того, что бы это стоило дешево, все компоненты должны быть бесплатными и что самое главное инсталлироваться обычным Инсталлятором типа Инсталд Шилда все вместе без дополнительных телодвижений.
...
Рейтинг: 0 / 0
16.03.2005, 12:53
    #32963086
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Alexey RovdoА что за проект такой? И почему вы рассматривали только бесплатные продукты?

Проект я уже описал - нормативная база, т.е база документов, законов и прочего. Он должен быть простым в установке - это главное требование ... Ну и естественно закрыт от того, что бы не воровали готовые документы.

Ведь прочитав ваш вопрос так и хочется ответить что-то вроде:
вам понадобится порядка 5-10 лет и 10-20 млн. долларов ...

Уже чувствую что так оно видимо и будет, хотя не соглашусь, так как есть примеры уже реализованных подобных продуктов, вон та же Лига http://liga.net
...
Рейтинг: 0 / 0
16.03.2005, 14:02
    #32963381
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Stics
Абсолютно согласен с автором, но осмелюсь напомнить, что для того, что бы можно было продать диск, он должен в себя включать ВСЕ и базу и сервер и клиентсую оболочку, для того, что бы это стоило дешево, все компоненты должны быть бесплатными и что самое главное инсталлироваться обычным Инсталлятором типа Инсталд Шилда все вместе без дополнительных телодвижений.


Автор не я а Том Кайт.

Вообще я не имею ничего против самой постановки. Иметь автономную систему, где все под рукой и все "своё" - это хорошо. Но насколько этот проект долго проживет в современных, быстро изменяющихся условиях - вот в чем вопрос. Никакая идея не может быть поддержана другими разработчиками, если она не опирается на какие-либо общие концепции проектирования сходных систем. Если она базируется на уникальных алгоритмах (вашей собственной разработки) то кто кроме вас одного сможет поддерживать и развивать ее достаточно долго? Что будет с системой если вы вдруг откажетесь ее сопровождать? Не окажетесь ли вы "непризнанным гением" ? Не останется ли система в состоянии "дипломного проекта" студента с амбициями разработчика СУБД?

С уважением
Mayton
...
Рейтинг: 0 / 0
16.03.2005, 14:09
    #32963409
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
maytonНе окажетесь ли вы "непризнанным гением" ? Не останется ли система в состоянии "дипломного проекта" студента с амбициями разработчика СУБД?

С уважением
Mayton

База конечно же будет писаться (если будет) под конкретную задачу. Да, если она будет разработана, то может быть использована и во множестве других вещей. Но замечу, что если не будет разработан Сервер, то и самого проекта существовать не будет ... не в этом соль, понятно что сервер не один и может не два человека будут писать и возможно не за дешево. Сам вопрос ставился о принципиальной возможности разработки такого сервера при сроке в год-полтора и достаточном финансировании ...
...
Рейтинг: 0 / 0
16.03.2005, 14:12
    #32963422
eys
eys
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Есть BDE в дельфях, есть встраиваемые БД типа H-SQL, есть Firebird embedded.
Не пойму в чем сыр-бор.
...
Рейтинг: 0 / 0
16.03.2005, 14:19
    #32963441
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
eysЕсть BDE в дельфях, есть встраиваемые БД типа H-SQL, есть Firebird embedded.
Не пойму в чем сыр-бор.

BDE в дельфях - тормозит, все хранится в ДБФ - плоских таблицах, нет нормальной системы криптования, нужно доставлять движок на "чистые" компы, как прикажете сетевым приложениям работать с эНтой "базой"

H-SQL - что за зверь? интересно, изучу

Firebird - та же лабуда, тормозит на слабых компах + нельзя встроить в инсталляцию, что бы все одним корнем настраивалось, проинсталлить и зарыть - проблема, настроить как удаленный сервер на 98 компе не просто проблема, а не маленькая проблема, нужно знать где колупать, а тот же Юрист нифига не соображает что такое порт и почему он должен быть открыт и как его прописать.
...
Рейтинг: 0 / 0
16.03.2005, 14:20
    #32963445
eys
eys
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
А как вы в своей базе будете обеспечивать ACID?
Это ОЧЕНЬ непростая задача. Те же AC уже такой гемор..., а при условии ID :0
А производительность при условии вышеперечисленного? Тот же FireBird наверняка на порядок уделает поделку.
...
Рейтинг: 0 / 0
16.03.2005, 14:22
    #32963454
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
eysесть встраиваемые БД типа H-SQL


ссылочку можно? а то что-то не найду ...
...
Рейтинг: 0 / 0
16.03.2005, 14:24
    #32963465
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
eysА как вы в своей базе будете обеспечивать ACID?
Это ОЧЕНЬ непростая задача. Те же AC уже такой гемор..., а при условии ID :0
А производительность при условии вышеперечисленного? Тот же FireBird наверняка на порядок уделает поделку.

Очень может быть, я ж говорю, что опыта написания нет, использования - есть, но не написания .. вот по-этому то и обращаюсь за вопросом к Гуру .. стоить ли поднимать данный вопрос и если стоит, то в какие средства (фин. и чел.) это выльется :)
...
Рейтинг: 0 / 0
16.03.2005, 14:38
    #32963509
eys
eys
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
То что не писать своей базы - 99.99 однозначно.
Лучше тот же FireBird хорошо изучите - как оптимайзить.
Почему версионник тормозит там где логгер пашет на ура и наоборот.
И почему.
Выработайте структуру данных вашей предметной области,
и протестируйте(только надо удосужиться протюнить базу, учитывая специфику сервера) на различных шаровых встраиваемых БД.
В фирибейсе есть хранимки, индексы и т.п. - для тюнинга большой простор.
К сведению - FireBird на ура ворочает миллионы записейб и ничо так.
...
Рейтинг: 0 / 0
16.03.2005, 14:46
    #32963539
eys
eys
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Судя по вашей задаче скорость очень сильно будет зависеть от дизайна базы.
...
Рейтинг: 0 / 0
16.03.2005, 14:50
    #32963553
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
eysТо что не писать своей базы - 99.99 однозначно.
Лучше тот же FireBird хорошо изучите - как оптимайзить.
Почему версионник тормозит там где логгер пашет на ура и наоборот.
И почему.
Выработайте структуру данных вашей предметной области,
и протестируйте(только надо удосужиться протюнить базу, учитывая специфику сервера) на различных шаровых встраиваемых БД.
В фирибейсе есть хранимки, индексы и т.п. - для тюнинга большой простор.
К сведению - FireBird на ура ворочает миллионы записейб и ничо так.

Замечательно, согласен, что данный вопрос поднять реально.

А как на счет интеграции инсталляции/настройки/разграничения доступа в общий Инсталл системы? Чтобы инсталлировалось одним приложением, замучу .. чем ходить то собираемся? ОДБС? тогда и их родимых нужно втулить в инсталляцию ... Как на основе FireBird сделать общий инсталл? чтобы в 2 клика мышки инсталлировался, содавал базу, настраивал пути у сервера и клиентов???
...
Рейтинг: 0 / 0
16.03.2005, 14:53
    #32963563
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
eysСудя по вашей задаче скорость очень сильно будет зависеть от дизайна базы.

Да не сложная там структура ..

Основные таблицы

1 - Описание документа
2 - Содержимое домента (МЕМО)
3 - словари - описатели объектов

Внутри 1 есть перекрестные ссылки друг на друга
...
Рейтинг: 0 / 0
16.03.2005, 15:14
    #32963650
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
Просто dbf-файлы и библиотека доступа к ним, встраиваемая в код (например, tdbf). Тогда никаких внешних dll и регистраций в реестре не потребуется.
Ссылки и целостность организуешь кодом.
Криптование организуешь кодом.
Все просто, и никаких движков и средств хранения не придется изобретать.
...
Рейтинг: 0 / 0
16.03.2005, 15:22
    #32963672
Stics
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
DankovПросто dbf-файлы и библиотека доступа к ним, встраиваемая в код (например, tdbf). Тогда никаких внешних dll и регистраций в реестре не потребуется.
Ссылки и целостность организуешь кодом.
Криптование организуешь кодом.
Все просто, и никаких движков и средств хранения не придется изобретать.

Угу, что-то подобное и думал ...

А скажите уважаемые,
1) как dbf с мемополями работает, не тормозит ли? при удалении и поиске внутри документа по искомой скажем фразе ... Записей в базе что-то порядка 150 000
2) я так понимаю, что dbf не сильно жрут дисковое пространство, если ли способ синхронизировать 2 dbf таблицы? нужно же ведь как-то апдейты базы передавать
...
Рейтинг: 0 / 0
16.03.2005, 15:51
    #32963796
optimizer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего сервера БД
SticsА как на счет интеграции инсталляции/настройки/разграничения доступа в общий Инсталл системы? Чтобы инсталлировалось одним приложением, замучу .. чем ходить то собираемся? ОДБС? тогда и их родимых нужно втулить в инсталляцию ... Как на основе FireBird сделать общий инсталл? чтобы в 2 клика мышки инсталлировался, содавал базу, настраивал пути у сервера и клиентов???

думаешь создать СУБД проще создания инсталятора :-)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Создание своего сервера БД / 25 сообщений из 59, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]