Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Предыстория: Существует некоторое многопользовательское приложение, которое часть данных своих данных хранит на MS SQL 7. Однако все возможности SQL сервера далеко не используются. SQL фактически нужен только для хранения информации и предоставления ее по запросам другим компонентам в виде цельных таблиц или некоторой выборки по строкам. Объем базы не более 10 млн. записей. Задача: По вышеупомянутым и некоторым другим соображениям нужно перенести базу данных с платформы MS SQL на... А вот тут собственно возникла проблема. Ни одна из существующих платформ не подходит. Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных. Вопрос: С чего начать, куда двигаться, есть ли какая теория по этому поводу, насколько это все дело муторно и что можно посоветовать в такой ситуации? Я понимаю, что вопрос сформулирован несколько туманно, но мне задача была еще туманнее. Может кто что разумное посоветует, особенно если был опыт написания собственных СУБД. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:44 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Как обычно в таких случаях встречный вопрос: Зачем вам переносить все это на другую БД или что-то_там_еще_самонаписанное. Чем неудовлетворяет сейчас? Иногда это помогает - вдруг человек поймет, что не надо собственно никакого геморроя на свою голову изобретать. Но если все же это не геморрой, тогда...... :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 16:52 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Зачем??? Начальство сказало - надо, программист ответил есть!!!... :-) Сами понимаете, если человек будет обосновывать почему нельзя сделать то-то и то-то, вместо того, чтобы объяснять как это можно сделать, то весьма скоро ему придется решать проблему своего трудоустройства. :-) Ну кроме политических есть и пара-тройка прагматический соображений - несколько проблематично на Unix запускать MS SQL, раз. Не нужной на данном этапе функциональности в MSSQL напихано выше крыши - два. А за нее платить приходится. Вот и возникла идея переписать, вернее, написать некую упрощенную СУБД, добавив в нее пару отсутствующих, но весьма полезных функций. PS. Обратите, pls, внимание на топик - там спрашивается не о том, зачем этот геморрой нужен, а то, как решать сию задачу, то бишь КАК написать собственную СУБД??? Может я не очень отчетливо это сформулировал (пардон), но хотелось бы выяснить именно это. PPS. Уже не буду углубляться в детали, что для полного щастья это все придется писать на весьма нераспространенном языке программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:12 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Давайте конкретно. Какую пару пару отсутствующих, но весьма полезных функций, вы хотите добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 17:39 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
2 Steppenwulf Например, такие: передачу данных от СУБД к клиенту в некоем "родном" формате плюс оповещение о внесенных изменениях тем процессам, которым это надо. Однако вопрос в стоит не в том, что бы такого ЕЩЕ прикрутить к существующему MS SQL, а в том, чтобы написать некий аналог СУБД "с нуля". Предысторию я рассказал собственно только для того, чтобы понятно было на кой ляд мне понадобилось заморачиваться с собственной СУБД и предотвратить поток предложений типа: "А почему бы вам не взять MS SQL/MySQL/Oracle/Cache, etc. и не сделать то-то и то-то?". Естественно, я понимаю, что переплюнуть MS или Oracle за полгода не получится (не знаю, правда, понимает ли это начальство ;-) ), другой вопрос, что такого в общем-то и не требуется. Как сейчас видится проблема - так это то, что возможностей файлов для хранения и обработки информации немного маловато, а возможностей SQL-cервера существенно многовато. PS. Как насчет топика? То бишь что делать если потребовалось создать собственную СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 18:38 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Извините за нескромные вопросы: 1.А в какие сроки вы хотите уложиться? 2.Какое кол-во програмистов у вас есть и/или хотите нанять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 18:49 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
nick , мне есть чему у Вас учиться, я в данном случае так корректно не смог бы выразиться. SeaRunner Я не знаю где Вам найти столько альтруистов, чтобы написать в приемлимые сроки свой SQL сервер и уложиться в цену MS SQL/MySQL/Oracle/Cache, etс А не проще ли написать компонент доступа к Вашему экзотическому языку программирования для недорого IB и его, в том числе и бесплатных, клонов? Тем более что это удовлетворит все приведенные Вами требования к SQL серверу. P.S. А чего Unix то пользуете? Там лишнего выше крыши - может начать с собственной ОС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 19:11 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
>Извините за нескромные вопросы: >1.А в какие сроки вы хотите уложиться? >2.Какое кол-во програмистов у вас есть и/или хотите нанять? Отвечаю 1. В разумные 2. Достаточное :-) Шутка. Но... как говорится, в каждой шутке есть доля шутки. Ответы на эти вопросы пока неизвестны - собственно сейчас и идет выяснение того, чего надо, кого надо и почем надо, стоит ли с этим вообще связываться, и во что это выльется и сколько времени это займет. Ни PDP, ни requirements пока нет - идет предварительный анализ. Но больше года вряд ли кто даст. Второй вопрос тоже пока несколько туманен. Скорее всего, над таким проектом будут работать несколько человек. Backgroung - MS SQL, приложения БД, Java, C/C++, но никто не занимался созданием СУБД. Хотелось бы услышать, как ответы на эти вопросы проясняют ситуацию??? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 19:27 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Я заочно знаю одного человека из другого форума, который заниматеся/лся (не уверен) разработкой СУБД . Попробую пригласить его в этот топик дабы охладить ваш боевой настрой ;) Alex Sibilev ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 19:32 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
А не проще ли написать компонент доступа к Вашему экзотическому языку программирования для недорого IB и его, в том числе и бесплатных, клонов? Тем более что это удовлетворит все приведенные Вами требования к SQL серверу. P.S. А чего Unix то пользуете? Там лишнего выше крыши - может начать с собственной ОС? Ну что я могу сказать. Читайте внимательнее - я нигде не говорил, что нужен SQL. Более того, я говорил, сколь мне помнится, как раз о том, что он не нужен. Написать компонент, наверное проще - собственно говоря в текущей конфигурации MS SQL и выполняет роль такой затычки. Что не есть хорошо по ряду причин. Требуется его заменить чем-то, что было бы не хуже, а в чем-то и лучше. Существующие DBMS не подходят именно в силу своей общей ориентированности. Если бы данное требование распространялось на большую часть функциональности MSSQL, я бы и браться за это дело не стал - как вы метко заметили, такого количества альтруистов не найти. PS. Насчет собственной ОС - подумаем. Когда придет время, возможно и сделаем, если это будет целесообразно... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 19:43 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Ну так все-таки, какой именно функциональности Вам не хватает в SQL Server? Что именно Вы писать собираетесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 20:47 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
> Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных. А разве нет dbms с открытыми исходниками? Тот же mysql. Скачайте коды, посмотрите, припишите чего вам не хватает. Или вам свою и с нуля? > С чего начать, куда двигаться, есть ли какая теория по этому поводу, насколько это все дело муторно и что можно посоветовать в такой ситуации? Можно посоветовать копить деньги, я думаю приблизительные цифры сколько крупные компании тратят на разработку найти можно. > Начальство сказало - надо, программист ответил есть!!!... :-) Тут уже предложили подумать о собственной оси, а почему бы еще не подумать о собственном процессоре? В пентиумах столько лишнего для совместимости с 286! > для полного щастья это все придется писать на весьма нераспространенном языке программирования. Уж не собственного ли изготовления? Или он такой секретный, что одно его упоминание попадет под закон о военной тайне? А вообще, я вам завидую, мне б такое начальство! У меня хуже - либо делай сам, либо ищи готовое решение, отмазки в недостаточной функциональности не принимаются. А так бы я выбил бы финансы под разработку искусственного интелекта и спокойно бы жил до пенсии. ЗЫ присоединяюсь к вопросу остальных: чего же собственно не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 21:58 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
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 (ему видишь ли сайбез не понравился )))))). если хочешь я ему мыльну про тебя. гы )))))))))))))))) будете работать вдвоем - меня не забудьте ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 23:18 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Ответил мне человек, занимавшийся разработкой БД. С его разрешения привожу письмо, которое он мне прислал: Приводится 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 02:13 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
... SQL фактически нужен только для хранения информации и предоставления ее по запросам другим компонентам в виде цельных таблиц или некоторой выборки по строкам. ... Нужно разработать собственную СУБД, обеспечивающую такую функциональность плюс целостность данных. ... Функциональность просто отпад! Так чем вам не подходят ЛЮБЫЕ СУБД (платные, бесплатные, ...)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 08:48 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Дорогой, не морочь себе и другим голову! Писать собрался свою СУБД :). Бери любую, бери Delphi и пиши, все, что захочешь..., там простор такой, что дай бог! А если серьезно - ну никак я не могу понять по вышеприведенным репликам, ЗАЧЕМ писать собсьвенную СУБД. Существует FreeWare InterBase, очень неплохая и по быстродействию и по надежности, а экспорт-импорт на Delphi можно написать в любой формат, который ВОт ТУТ УЖЕ можно изобрести свой. С кодированием даже, если надо секретность обеспечить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 09:07 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Так все-таки и не понятно: ЗАЧЕМ ВАМ ПИСАТЬ СВОЮ БД?????? Ни одного слова о том, что вам еще не хватает, НЕ БЫЛО Или это у вас тема для диплома? На других хотите выехать? Тут времени иногда на обычную работу не хватает, а он про свою БД ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 09:59 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Ну чего вы на него накинулись. Человек спросил по делу, а вы сразу зачем... Может у него на то свои основания. А копать посоветовал бы berkeleydb. Еще btree... исходники в инете есть. Я бы стартовал от берклей при необходимости. Данные хранятся в виде ключ-значение. Ключ - произвольный, значение - тоже. В значении можете хранить объект. Поддерживаются транзакции, автоматическое создание индексов. 4 вида доступа к базе. Ну и еще несколько полезностей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:26 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
SiDen, на вашем месте должен был быть я)))) не успел. я тоже хотел BerkeleyDB похвалить. Автору топика, Действительно прежде чем писать что-то свое, полезно исходники этой СУБД (Berkeley) почитать - их немного и они удобочитаемы. Но боюсь, что автору топика придется обращать внимание на такие "лишние" вещи, как реализация подкачки страниц или индексные деревья. Оно вам надо? Я представляю так, что это боссы вас вынуждают писать что-то свое. Но сами вдумайтесь, насколько они вас не уважают, если жадничают купить коммерческую СУБД, заставляя вас за те же деньги писать альтернативу. Так выходит, что человек дешевле программы. Если мое предположене действительно верно, лучше начинайте искать другую работу. Сейчас в вашем положении действительно проще найти бесплатную СУБД - их много и они не намного хуже коммерческих. То, что вы описали - передача данных в "своем" формате и т.д. - обычно реализуется на промежуточном уровне - через COM+, ORB или Java-сервера, создавать целую СУБД здесь не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 10:51 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 11:38 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
- Каждый сходит с ума по своему. Сказал черт и подтерся наждачной бумагой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 11:50 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
> Ну чего вы на него накинулись. А Вы чего ожидали, все сторонней поддержки? Лично мне просто интересно. Я совсем не против, просто не представляю, зачем. Вот у меня тоже проблема - надо рано вставать, а с будильником проблема. Мне нужна программа, которая щелчком мыши выключает монитор, звуковую карту и встает в режим ожидания, потом пищит динамиком. Но оказалось, что под мои требования не попадает ни одна готовая программа, "тз" разрослось, все было нормально, пока не полетела винда, за ней драйвер пищалки и т.д. Но для создания программы я не придумываю новый ЯП, а для хранения данных о рабочих днях не собираюсь создавать новую СУБД. Но я точно знаю и могу объяснить зачем мне такая программа, причем практически каждый пункт, а зачем SeaRunner (или его боссам) новая СУБД - не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 11:59 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Ого, сколько всего понаписали. Так скоро спать перестану, из форума не вылезу. Отвечу всем по порядку. Прежде всего, хочу поблагодарить тех, кто откликнулся по топику. Не знаю, получится что-нибудь путное из этого проекта или нет, но пока есть куда копать. Постараюсь ответить всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 12:34 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Вопрос 1: Почему надо писать свое? Ответ: А почему бы и нет? Общеизвестно, что системы общего назначения обычно менее эффективны, чем специализированные системы, рассчитаные на применение в узких областях. Наша практика показывает, что абстрактное “меньше” в некоторых случаях означает меньше на несколько порядков. В экстремальном случае – задача, обработка которой в общей системе занимала 36 часов, в специализированной выполняется за 9 минут. Стоит ли овчика выделки? При показателях скорости, различающиехся более чем на порядок – да. Другой вопрос, что прирост в скорости достигается за счет существенного обрезания функциональности. Если это происходит за счет отрезания ненужных кусков – то все хорошо, много пива и все довольны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 12:35 |
|
||
|
Разработка СУБД / DBMS development
|
|||
|---|---|---|---|
|
#18+
Вопрос 2: Почему бы не использовать что-то готовенькое? Ответ: УЖЕ использовали. УЖЕ работает. Теперь вопрос поставлен так: КАК сделать СВОЕ? Причин несколько – скорость существующей системы, кроссплатформенная переносимость, теоретическая возможности перенести требуемую функциональность с MSSQL на собственную платформу плюс формальное требование ИСПОЛЬЗОВАТЬ существующую систему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2002, 12:36 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32075871&tid=1554373]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
65ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 479ms |

| 0 / 0 |
