Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Разработка СУБД / DBMS development / 25 сообщений из 53, страница 1 из 3
04.12.2002, 16:44
    #32075711
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Предыстория: Существует некоторое многопользовательское приложение, которое часть данных своих данных хранит на MS SQL 7. Однако все возможности SQL сервера далеко не используются. SQL фактически нужен только для хранения информации и предоставления ее по запросам другим компонентам в виде цельных таблиц или некоторой выборки по строкам. Объем базы не более 10 млн. записей.

Задача: По вышеупомянутым и некоторым другим соображениям нужно перенести базу данных с платформы MS SQL на... А вот тут собственно возникла проблема. Ни одна из существующих платформ не подходит. Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных.

Вопрос: С чего начать, куда двигаться, есть ли какая теория по этому поводу, насколько это все дело муторно и что можно посоветовать в такой ситуации? Я понимаю, что вопрос сформулирован несколько туманно, но мне задача была еще туманнее. Может кто что разумное посоветует, особенно если был опыт написания собственных СУБД.

Заранее спасибо
...
Рейтинг: 0 / 0
04.12.2002, 16:52
    #32075719
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Как обычно в таких случаях встречный вопрос:

Зачем вам переносить все это на другую БД или что-то_там_еще_самонаписанное. Чем неудовлетворяет сейчас?

Иногда это помогает - вдруг человек поймет, что не надо собственно никакого геморроя на свою голову изобретать. Но если все же это не геморрой, тогда...... :))
...
Рейтинг: 0 / 0
04.12.2002, 17:12
    #32075734
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Зачем???
Начальство сказало - надо, программист ответил есть!!!... :-) Сами понимаете, если человек будет обосновывать почему нельзя сделать то-то и то-то, вместо того, чтобы объяснять как это можно сделать, то весьма скоро ему придется решать проблему своего трудоустройства. :-)

Ну кроме политических есть и пара-тройка прагматический соображений - несколько проблематично на Unix запускать MS SQL, раз. Не нужной на данном этапе функциональности в MSSQL напихано выше крыши - два. А за нее платить приходится. Вот и возникла идея переписать, вернее, написать некую упрощенную СУБД, добавив в нее пару отсутствующих, но весьма полезных функций.

PS. Обратите, pls, внимание на топик - там спрашивается не о том, зачем этот геморрой нужен, а то, как решать сию задачу, то бишь КАК написать собственную СУБД??? Может я не очень отчетливо это сформулировал (пардон), но хотелось бы выяснить именно это.

PPS. Уже не буду углубляться в детали, что для полного щастья это все придется писать на весьма нераспространенном языке программирования.
...
Рейтинг: 0 / 0
04.12.2002, 17:39
    #32075751
Steppenwulf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Давайте конкретно.
Какую пару пару отсутствующих, но весьма полезных функций, вы хотите добавить?
...
Рейтинг: 0 / 0
04.12.2002, 18:38
    #32075791
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
2 Steppenwulf

Например, такие: передачу данных от СУБД к клиенту в некоем "родном" формате плюс оповещение о внесенных изменениях тем процессам, которым это надо.

Однако вопрос в стоит не в том, что бы такого ЕЩЕ прикрутить к существующему MS SQL, а в том, чтобы написать некий аналог СУБД "с нуля". Предысторию я рассказал собственно только для того, чтобы понятно было на кой ляд мне понадобилось заморачиваться с собственной СУБД и предотвратить поток предложений типа: "А почему бы вам не взять MS SQL/MySQL/Oracle/Cache, etc. и не сделать то-то и то-то?". Естественно, я понимаю, что переплюнуть MS или Oracle за полгода не получится (не знаю, правда, понимает ли это начальство ;-) ), другой вопрос, что такого в общем-то и не требуется. Как сейчас видится проблема - так это то, что возможностей файлов для хранения и обработки информации немного маловато, а возможностей SQL-cервера существенно многовато.

PS. Как насчет топика? То бишь что делать если потребовалось создать собственную СУБД?
...
Рейтинг: 0 / 0
04.12.2002, 18:49
    #32075795
nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Извините за нескромные вопросы:
1.А в какие сроки вы хотите уложиться?
2.Какое кол-во програмистов у вас есть и/или хотите нанять?
...
Рейтинг: 0 / 0
04.12.2002, 19:11
    #32075804
sysop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
nick , мне есть чему у Вас учиться, я в данном случае так корректно не смог бы выразиться.
SeaRunner
Я не знаю где Вам найти столько альтруистов, чтобы написать в приемлимые сроки свой SQL сервер и уложиться в цену MS SQL/MySQL/Oracle/Cache, etс
А не проще ли написать компонент доступа к Вашему экзотическому языку программирования для недорого IB и его, в том числе и бесплатных, клонов? Тем более что это удовлетворит все приведенные Вами требования к SQL серверу.
P.S.
А чего Unix то пользуете? Там лишнего выше крыши - может начать с собственной ОС?
...
Рейтинг: 0 / 0
04.12.2002, 19:27
    #32075808
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
>Извините за нескромные вопросы:
>1.А в какие сроки вы хотите уложиться?
>2.Какое кол-во програмистов у вас есть и/или хотите нанять?


Отвечаю
1. В разумные
2. Достаточное

:-) Шутка. Но... как говорится, в каждой шутке есть доля шутки. Ответы на эти вопросы пока неизвестны - собственно сейчас и идет выяснение того, чего надо, кого надо и почем надо, стоит ли с этим вообще связываться, и во что это выльется и сколько времени это займет. Ни PDP, ни requirements пока нет - идет предварительный анализ. Но больше года вряд ли кто даст. Второй вопрос тоже пока несколько туманен. Скорее всего, над таким проектом будут работать несколько человек. Backgroung - MS SQL, приложения БД, Java, C/C++, но никто не занимался созданием СУБД.

Хотелось бы услышать, как ответы на эти вопросы проясняют ситуацию???
:-)
...
Рейтинг: 0 / 0
04.12.2002, 19:32
    #32075811
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Я заочно знаю одного человека из другого форума, который заниматеся/лся (не уверен) разработкой СУБД . Попробую пригласить его в этот топик дабы охладить ваш боевой настрой ;)

Alex Sibilev
...
Рейтинг: 0 / 0
04.12.2002, 19:43
    #32075815
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
А не проще ли написать компонент доступа к Вашему экзотическому языку программирования для недорого IB и его, в том числе и бесплатных, клонов? Тем более что это удовлетворит все приведенные Вами требования к SQL серверу.
P.S.
А чего Unix то пользуете? Там лишнего выше крыши - может начать с собственной ОС?


Ну что я могу сказать. Читайте внимательнее - я нигде не говорил, что нужен SQL. Более того, я говорил, сколь мне помнится, как раз о том, что он не нужен. Написать компонент, наверное проще - собственно говоря в текущей конфигурации MS SQL и выполняет роль такой затычки. Что не есть хорошо по ряду причин. Требуется его заменить чем-то, что было бы не хуже, а в чем-то и лучше. Существующие DBMS не подходят именно в силу своей общей ориентированности. Если бы данное требование распространялось на большую часть функциональности MSSQL, я бы и браться за это дело не стал - как вы метко заметили, такого количества альтруистов не найти.

PS. Насчет собственной ОС - подумаем. Когда придет время, возможно и сделаем, если это будет целесообразно... ;-)
...
Рейтинг: 0 / 0
04.12.2002, 20:47
    #32075828
Alexander_Chepack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Ну так все-таки, какой именно функциональности Вам не хватает в SQL Server? Что именно Вы писать собираетесь?
...
Рейтинг: 0 / 0
04.12.2002, 21:58
    #32075836
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
> Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных.

А разве нет dbms с открытыми исходниками? Тот же mysql. Скачайте коды, посмотрите, припишите чего вам не хватает. Или вам свою и с нуля?

> С чего начать, куда двигаться, есть ли какая теория по этому поводу, насколько это все дело муторно и что можно посоветовать в такой ситуации?

Можно посоветовать копить деньги, я думаю приблизительные цифры сколько крупные компании тратят на разработку найти можно.

> Начальство сказало - надо, программист ответил есть!!!... :-)

Тут уже предложили подумать о собственной оси, а почему бы еще не подумать о собственном процессоре? В пентиумах столько лишнего для совместимости с 286!

> для полного щастья это все придется писать на весьма нераспространенном языке программирования.

Уж не собственного ли изготовления? Или он такой секретный, что одно его упоминание попадет под закон о военной тайне?

А вообще, я вам завидую, мне б такое начальство! У меня хуже - либо делай сам, либо ищи готовое решение, отмазки в недостаточной функциональности не принимаются. А так бы я выбил бы финансы под разработку искусственного интелекта и спокойно бы жил до пенсии.

ЗЫ присоединяюсь к вопросу остальных: чего же собственно не хватает?
...
Рейтинг: 0 / 0
04.12.2002, 23:18
    #32075840
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
2 SeaRunner
----
теория в дейте написана
можешь ссылки из меня раннего взять
------------------------------------

ПИСКУНОВ А.Г., НИКОЛАЕВ М.В., ФЕДЧЕНКО В.А.
ИСПОЛЬЗОВАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ ПРИ СОЗДАНИИ
КАРТОГРАФИЧЕСКОЙ БАЗЫ ДАННЫХ

Картографическая база данных (КБД) является низкоуровневым
инструментальным средством, разработанным авторами для использования в
различных геоинформационных системах и оформленным в виде библиотеки
программ, написанных на языке C. О КБД версии 2.0 было обьявлено в . При

...

Для повышения производительности была создана
специализированная подсистема управления таблицей (СПУТС),
содержащей сегменты, вместо ранее написанной с использованием
универсальной СУБД PARADOX ENGINE. Перечислим ее свойства:
...
2) Для доступа к таблице сегментов в СПУТС используется
файл индекса на основе модифицированной версии B*-дерева [7,8],
в которой учитывается кусочно монотонно - возрастающий характер
...
раз выше приоритета страниц уровня его сыновей. С учетом
вышесказанного была построена приоритетная схема управления
вытеснением страниц индекса, которая объединяет приоритетное
планирование страниц и метод вытеснения страниц LRU [9]
(вытесняется наиболее давно используемая страница данного уровня
дерева индекса). Кроме того подсистема управления страничным
....
ЛИТЕРАТУРА

1) Ульман Дж. Основы систем баз данных. Москва, Финансы и
статистика, 1983.- 334 c.;
...
7) Кнут Д., Искусство программирования для ЭВМ. т. 3.
Москва, Мир, 1978.- 844 с.

8) Сибуя М., Ямамото Т., Алгоритмы обработки данных.
Москва, Мир, 1986.- 218 с.

9) Цикритзис Д., Бернстайн Ф., Операционные системы.
Москва, Мир, 1977.- 336 с.
--------------------------------------------

самое лучшее что можно
посоветовать тебе - так это обратиться в клинику, работающюю у нас на
sql.ru на базе "Просто треп"
-------------------------------------------
мой студент написал большой кусок своей субд на протяжении
2000 2001 (ему видишь ли сайбез не понравился )))))).
если хочешь я ему мыльну про тебя.
гы ))))))))))))))))
будете работать вдвоем - меня не забудьте
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
...
Рейтинг: 0 / 0
05.12.2002, 02:13
    #32075848
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Ответил мне человек, занимавшийся разработкой БД. С его разрешения привожу письмо, которое он мне прислал:

Приводится AS IS:

Добрый день, Александр.
Я прочитал постинг и ответы на форуме sql.ru -
Да действительно мне приходилось разрабатывать некоторую СУБД под конкретные задачи . И эта задача реализовалась успешно.

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

Прежде всего скачать и изучить имеющиеся opensource аналоги это прежде всего
1) PostgreSQL http://postgresql.planetmirror.com/sites.html
2) LEAP http://leap.sourceforge.net/downloading.htm
3) Beckeray BD (кажется чтото наврал в написания названия но чтото в этом роде)

Сразу скажу что из всех более менее крупных opensource проектов аналогичных этим взять выдернуть часть кода с необходимой функциональностью не получится - там все слишком взаимосвязано так что тут решением может быть либо использовать одну из этих БД целиком , либо просто посмотреть принципы на которых она постороена и писать свое

Вообще если писать свою систему стоит реализовать как стартовое решения -это механизм страничной организации доступа к дисковому файлу бд написать реализации алгоритма битовой карты выделения память , соответсвенно есть некоторый бинарный массив - каждый бит соответвует странице - (занята\свободна страница) - соответвенно при вставке идет поиск свободного места циклически просматривая массив - при удалении соответвенно помечаются освобожденные страницы
затем следующий шаг - написание механизма работы с индексами - то есть алгоритма построения b-tree
следующий шаг - механизм транзакций - и окончательно уже собственно
механизм описания и реализации таблиц

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

Алексей



Alex Sibilev
...
Рейтинг: 0 / 0
05.12.2002, 08:48
    #32075871
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
...
SQL фактически нужен только для хранения информации и предоставления ее по запросам другим компонентам в виде цельных таблиц или некоторой выборки по строкам.
...
Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных.
...


Функциональность просто отпад!

Так чем вам не подходят ЛЮБЫЕ СУБД (платные, бесплатные, ...)?
...
Рейтинг: 0 / 0
05.12.2002, 09:07
    #32075882
Max Shvetz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Дорогой, не морочь себе и другим голову! Писать собрался свою СУБД :). Бери любую, бери Delphi и пиши, все, что захочешь..., там простор такой, что дай бог! А если серьезно - ну никак я не могу понять по вышеприведенным репликам, ЗАЧЕМ писать собсьвенную СУБД. Существует FreeWare InterBase, очень неплохая и по быстродействию и по надежности, а экспорт-импорт на Delphi можно написать в любой формат, который ВОт ТУТ УЖЕ можно изобрести свой. С кодированием даже, если надо секретность обеспечить
...
Рейтинг: 0 / 0
05.12.2002, 09:59
    #32075912
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Так все-таки и не понятно: ЗАЧЕМ ВАМ ПИСАТЬ СВОЮ БД??????
Ни одного слова о том, что вам еще не хватает, НЕ БЫЛО

Или это у вас тема для диплома? На других хотите выехать?


Тут времени иногда на обычную работу не хватает, а он про свою БД )
...
Рейтинг: 0 / 0
05.12.2002, 10:26
    #32075932
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Ну чего вы на него накинулись. Человек спросил по делу, а вы сразу зачем... Может у него на то свои основания.
А копать посоветовал бы berkeleydb. Еще btree... исходники в инете есть.
Я бы стартовал от берклей при необходимости. Данные хранятся в виде ключ-значение. Ключ - произвольный, значение - тоже. В значении можете хранить объект. Поддерживаются транзакции, автоматическое создание индексов. 4 вида доступа к базе. Ну и еще несколько полезностей...
...
Рейтинг: 0 / 0
05.12.2002, 10:51
    #32075949
Steppenwulf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
SiDen, на вашем месте должен был быть я)))) не успел. я тоже хотел BerkeleyDB похвалить.

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

Я представляю так, что это боссы вас вынуждают писать что-то свое. Но сами вдумайтесь, насколько они вас не уважают, если жадничают купить коммерческую СУБД, заставляя вас за те же деньги писать альтернативу. Так выходит, что человек дешевле программы. Если мое предположене действительно верно, лучше начинайте искать другую работу.
Сейчас в вашем положении действительно проще найти бесплатную СУБД - их много и они не намного хуже коммерческих.
То, что вы описали - передача данных в "своем" формате и т.д. - обычно реализуется на промежуточном уровне - через COM+, ORB или Java-сервера, создавать целую СУБД здесь не надо.
...
Рейтинг: 0 / 0
05.12.2002, 11:38
    #32075988
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
...
Рейтинг: 0 / 0
05.12.2002, 11:50
    #32075998
DimaR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
- Каждый сходит с ума по своему.
Сказал черт и подтерся наждачной бумагой.
...
Рейтинг: 0 / 0
05.12.2002, 11:59
    #32076006
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
> Ну чего вы на него накинулись.

А Вы чего ожидали, все сторонней поддержки?

Лично мне просто интересно. Я совсем не против, просто не представляю, зачем.
Вот у меня тоже проблема - надо рано вставать, а с будильником проблема. Мне нужна программа, которая щелчком мыши выключает монитор, звуковую карту и встает в режим ожидания, потом пищит динамиком. Но оказалось, что под мои требования не попадает ни одна готовая программа, "тз" разрослось, все было нормально, пока не полетела винда, за ней драйвер пищалки и т.д. Но для создания программы я не придумываю новый ЯП, а для хранения данных о рабочих днях не собираюсь создавать новую СУБД. Но я точно знаю и могу объяснить зачем мне такая программа, причем практически каждый пункт, а зачем SeaRunner (или его боссам) новая СУБД - не понимаю.
...
Рейтинг: 0 / 0
05.12.2002, 12:34
    #32076031
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Ого, сколько всего понаписали. Так скоро спать перестану, из форума не вылезу. Отвечу всем по порядку.

Прежде всего, хочу поблагодарить тех, кто откликнулся по топику. Не знаю, получится что-нибудь путное из этого проекта или нет, но пока есть куда копать. Постараюсь ответить всем.
...
Рейтинг: 0 / 0
05.12.2002, 12:35
    #32076032
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Вопрос 1: Почему надо писать свое?
Ответ: А почему бы и нет? Общеизвестно, что системы общего назначения обычно менее эффективны, чем специализированные системы, рассчитаные на применение в узких областях. Наша практика показывает, что абстрактное “меньше” в некоторых случаях означает меньше на несколько порядков. В экстремальном случае – задача, обработка которой в общей системе занимала 36 часов, в специализированной выполняется за 9 минут. Стоит ли овчика выделки? При показателях скорости, различающиехся более чем на порядок – да. Другой вопрос, что прирост в скорости достигается за счет существенного обрезания функциональности. Если это происходит за счет отрезания ненужных кусков – то все хорошо, много пива и все довольны.
...
Рейтинг: 0 / 0
05.12.2002, 12:36
    #32076034
SeaRunner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка СУБД / DBMS development
Вопрос 2: Почему бы не использовать что-то готовенькое?
Ответ: УЖЕ использовали. УЖЕ работает. Теперь вопрос поставлен так: КАК сделать СВОЕ? Причин несколько – скорость существующей системы, кроссплатформенная переносимость, теоретическая возможности перенести требуемую функциональность с MSSQL на собственную платформу плюс формальное требование ИСПОЛЬЗОВАТЬ существующую систему.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Разработка СУБД / DBMS development / 25 сообщений из 53, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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