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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗЫ присоединяюсь к вопросу остальных: чего же собственно не хватает?
...
Рейтинг: 0 / 0
Разработка СУБД / DBMS development
    #32075840
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Разработка СУБД / DBMS development
    #32075848
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответил мне человек, занимавшийся разработкой БД. С его разрешения привожу письмо, которое он мне прислал:

Приводится 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
Разработка СУБД / DBMS development
    #32075871
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
...
SQL фактически нужен только для хранения информации и предоставления ее по запросам другим компонентам в виде цельных таблиц или некоторой выборки по строкам.
...
Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных.
...


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

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

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


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

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

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

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

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

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


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