powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Free DSA | Open DSA
25 сообщений из 29, страница 1 из 2
Free DSA | Open DSA
    #33073202
onstat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы с удовольствием присоединился к проекту
free DSA или open DSA для *nix.

Толковая архитектура буде сведена на нет при внедрении
функционала IDS в DB2.

Да и на рынке free/open DBMS нет блокировочников.
А Жаль.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33073960
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы тоже присоединился.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33082887
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

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

Что нужно для того чтобы начать IHMO.

1. Какова должна быть совместимось нового продукта с промышленным
Infomix DS. От какой версии отталкиваться.

2. Какие спецификации, докуметацию можно использовать для
reverse engenering. Чтобы не вступать в конфликт с IBM.
Интересует пока неофицильное мнение официальны лиц.
Может официальное и непонадобтся.

3.Язык программирования и основная платформа разработки
(я предлагаю С++&Linux).

4. Сайт проекта, CVS или любой другой синхронизатор версий.

5. Лицензирование.

Что могу предложить от себя(направления деятельности).
1. Разработка системы резидентной и виртуальной памяти и его API.
2. Работы с дисковой подсистемой(AIO),
структура дискового хранения и API.
3. Пул сетевых соединений NETTYPE (API).

Что еще нужно будет на первых этапах
1. Парсинг SQL запросов. Выполнение.
2. Директивный и Cost оптимизатор.
3. Системный каталог(sysmaster).
4. Журнализация
5. SPL.

За что не стоит браться до выхода 1 версии IHMO.
Но иметь ввиду на будующее.
1.Mултипроцессорность и мультирезидентность.
2.Ограничиться одним типом сетевых соединений(onsoctcp например).
3. PDQPRIORITY
4. Стратегия архивирования.
5. KAIO.

Приветствуются любые дополнения и изменения.

Добро пожаловать в команду OPENDSA.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33083013
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем, собственно, суть проекта ? Какой уровень совместимости предполагается ? И структуры данных на диске, и протокол обмена с приложениями являются собственностью IBM - где там место для Open source ?
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33083247
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegalloА в чем, собственно, суть проекта ? Какой уровень совместимости предполагается ? И структуры данных на диске, и протокол обмена с приложениями являются собственностью IBM - где там место для Open source ?

Я собственно это и хотел выяснить для начала.


onstat
2. Какие спецификации, докуметацию можно использовать для
reverse engenering. Чтобы не вступать в конфликт с IBM.
Интересует пока неофицильное мнение официальны лиц.
Может официальное и непонадобтся.



Кстате насколько закрыта спецификация сетевого обмена?

Никто не говорит, что нужно пользоваться готовым кодом.
Даже имена и сигнатуры API будут отличаться.
И описатели на диске тоже.

Я хотел бы получить внешнюю совместимость с Informix DS
При архитектуре похожей на Informix DSA.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33083390
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С чего вы взяли, что только из Informix в DB2 будут переходить функционал.
Из DB2 в Informix в версии Next и Next+ перейдут online reorg, MDC, MQT, Utility Throtling. Обе команды имеют досту ко всем алгоритмам оптимизации которые есть в IBM. В лоб правда переносится не будет.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33083497
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Всем привет.
1. Какова должна быть совместимось нового продукта с промышленным
Infomix DS. От какой версии отталкиваться.


IDS 7.31, думаю, будет вполне достаточно. Чтобы не морочить себе голову с DataBlade и новыми типами 9-ки. Правда, чем, кроме архитектуры, мы тогда будем принципиально лучше MySQL, например? (А тут еще появился PostgreSQL --> EnterpriseDB - http://www.enterprisedb.com). Об этом надо думать.

Если мы на уровне протокола окажемся совместимыми, поддержим sysmaster и те же коды ошибок, утилиты - onstat, ontape - это будет замечательно. Плюс существующая открытая реализация 4GL - и весь мир Informix у наших ног...

onstat-
2. Какие спецификации, докуметацию можно использовать для
reverse engenering. Чтобы не вступать в конфликт с IBM.
Интересует пока неофицильное мнение официальны лиц.
Может официальное и непонадобтся.


Официально, видимо - никакие. Я как-то просил (как пратнер!) у IBM спецификацию протокола для Informix - тишина... Неофициально - мне кажется, достаточно reverse engineering JDBC-драйвера выполнить. На первый взгляд мне там было много понятно.

onstat-
3.Язык программирования и основная платформа разработки
(я предлагаю С++&Linux).


С и *nix по выбору (вот для *BSD, например, не хватает достойных СУБД). Кроме того, не забывать про Solaris 10 (а то IBM на него явно не будет торопиться)

onstat-
4. Сайт проекта, CVS или любой другой синхронизатор версий.


opendsa.sourceforge.net - все в одном флаконе + мировая слава. Ну, и opendsa.kiev.ua с зеркалом основных материалов informix.kiev.ua

onstat-
5. Лицензирование.


LGPL (как было у SAP DB)

onstat-
1. Парсинг SQL запросов. Выполнение.
2. Директивный и Cost оптимизатор.
3. Системный каталог(sysmaster).
4. Журнализация
5. SPL.


Да уж, есть чем заняться (еще предлагаю вместо dbaccess делать сразу аналог Oracle SQL*Plus или db2 command line. Вот этим, наряду с разбором SQL и SPL я бы мог, наверное, заняться).

Хотя, весь фокус как раз в том, чтобы DSA повторить - реализовать свою невытесняющую многозадачность на своих потоках на основе далеко не полной информации о функционировании Informix...

onstat-
За что не стоит браться до выхода 1 версии IHMO.
Но иметь ввиду на будующее.
1.Mултипроцессорность и мультирезидентность.
...
4. Стратегия архивирования.
5. KAIO.


Есть замечания:

1. Систему управления своими потоками и VP надо сразу писать так, чтобы она могла работать на нескольких процессорах.

4. Возможность архивировать по ходу изменений (в On-Line) надо сразу учитывать.

5. Сразу надо учитывать возможность KAIO при программировании ядра.

Это пока так, эмоциональные комментарии. Главное - чтобы IBM в результате не бросила заниматься IDS и обратила таки внимание на то, насколько серьезно к этой СУБД относятся в наших краях.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33083788
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.К.

Правда, чем, кроме архитектуры, мы тогда будем принципиально лучше MySQL, например? (А тут еще появился PostgreSQL --> EnterpriseDB - http://www.enterprisedb.com). Об этом надо думать.


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

Есть предложение выйти на рынок с чисто блокировочной OLTP базой
расчитаной на большое количество одновременных
пользовательских соединений.
В этом направлении позиционировать работу проекта и оптимизацию.

В.К.
onstat-
3.Язык программирования и основная платформа разработки
(я предлагаю С++&Linux).

С и *nix по выбору (вот для *BSD, например, не хватает достойных СУБД). Кроме того, не забывать про Solaris 10 (а то IBM на него явно не будет торопиться)


Я всетаки хотелбы настоять на С++.
Основополагающий принцип языка "Обьявление - есть инициализация"
со всеми вытекающими дисциплинирует проект.

Еще момент, переопределение в пространстве имен проекта
глабальных орераторов new & delete облегчит работу по реализации
использованию shared memory, все подчиненные VP нити(субпроцессы)
не должны запрашивать память у OC.
Также для первой версии можно поробовать использовать
алгоритмы библиотеки STL.
А если по каким либо причинам они не устроят написать
свои библиотеки.


Для себя на первом этапе я вижу необходимость сконцентрировать основное внимание на архитектуре, используя максимум имеющихся иструментов
STL один из них.


В.К.

onstat-
1. Парсинг SQL запросов. Выполнение.
2. Директивный и Cost оптимизатор.
3. Системный каталог(sysmaster).
4. Журнализация
5. SPL.


Да уж, есть чем заняться (еще предлагаю вместо dbaccess делать сразу аналог Oracle SQL*Plus или db2 command line. Вот этим, наряду с разбором SQL и SPL я бы мог, наверное, заняться).


Да уж двоим проект однозначно не потянуть в обозримые сроки,
при условии что есть еще и основная работа.

В.К.
Хотя, весь фокус как раз в том, чтобы DSA повторить - реализовать свою невытесняющую многозадачность на своих потоках на основе далеко не полной информации о функционировании Informix...


Основные модули ядра со связями
я поробую нарисовать. Вопрос времени.
И выложить на для обсуждения общественности.

Пока не будет четкого понимания, что и как с чем общается
кодить не имеет смысла.

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


В.К.
onstat-
За что не стоит браться до выхода 1 версии IHMO.
Но иметь ввиду на будующее.
1.Mултипроцессорность и мультирезидентность.
...
4. Стратегия архивирования.
5. KAIO.


Есть замечания:

1. Систему управления своими потоками и VP надо сразу писать так, чтобы она могла работать на нескольких процессорах.


Это очень задержит выход первой версии.
Я думал VP API откатать на AIO VP,
а паралельную обработку запросов включить потом.

В.К.
4. Возможность архивировать по ходу изменений (в On-Line) надо сразу учитывать.


Обязательно нужно,
самый простой вариант oraclовый
alter tablespace begin backup;
а дальше журналами.
Других идей у меня пока нет.

В.К.
5. Сразу надо учитывать возможность KAIO при программировании ядра.

Рано еще, по тем-же причинам что п.1.

В.К.
Это пока так, эмоциональные комментарии. Главное - чтобы IBM в результате не бросила заниматься IDS и обратила таки внимание на то, насколько серьезно к этой СУБД относятся в наших краях.


Система у которой нет реакции на раздажители - мертвая система ;)
Ми и послужим подобного рода раздражителем.
И посмотрим на реакцию.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084019
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Будучи сотрудником IBM интересно наблюдать за вашими мыслями.
По поводу выбора языка. Informix и DB2 на 80% написаны на C, основная причина переносимость кода.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084054
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikovБудучи сотрудником IBM интересно наблюдать за вашими мыслями.
По поводу выбора языка. Informix и DB2 на 80% написаны на C, основная причина переносимость кода.

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

Вот сделает SUN OpenSolaris, а вы ему в ответ - OpenInformix по лицензии GPL выложите! Слабо? Всяко им дороже миллиарда разработка обошлась...

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

Про KAIO (IMHO): самого механизма реализации на уровне ядра ОС не знаю, но на уровне Informix это просто другой алгоритм работы потока Informix (не в очередь ждущих он отправляется, где его поток AIO найдет, а в очередь спящих, где его будет ADM VP периодически будить...).

Насчет ontape: это ж наше все! У сервера должен быть сразу предусмотрен режим сохранения предварительных образов страниц из физического журнала во временных таблицах по ходу архивирования, и все. Зачем нам повторять ошибки Oracle? Чтобы продукт имел успех, он должен с минимальными изменениями заменять Informix.

Кстати, не вижу формальных проблем в том, чтобы и структуру страницы данных, например, повторить, и структуру индексов. В версии 7.xx там все просто и понятно :) Короче, если проект станет для IBM Informix тем, чем стала Samba для Microsoft Network-а , - это будет отлично.

Это все пока по-прежнему - эмоциональная реакция...
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084058
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikovБудучи сотрудником IBM интересно наблюдать за вашими мыслями.
По поводу выбора языка. Informix и DB2 на 80% написаны на C, основная причина переносимость кода.


Хотелось бы знать ваше отношение к проекту, не как сотрудника IBM,
а как человека приближенного к спецификациям.

Правда спецификации тоже не помешали бы. :)

Я как человек начавший эту тему, позволю себе
выразить мнение общественности, что проект
не подразумевает собою подсидеть IBM на рынке.
Я вижу его целью вдохнуть новую жизнь в технологию DSA.
IBM в этом смысле имеет фору, его спецификации закрыты.
При этом он сможет хлебнуть свежей крови из этого проекта, :)
Если он состоится конечно.

Как на счет переноса DSA в DB2?
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084092
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В.K
Вы бы не только наблюдали, но и выводы делали... А то мне разные люди пишут, что "по ходу общения с IBM-овцами выяснилось, что они Informix хоронят"... Почему люди к таким выводам приходят, а? А всего-то и предлагалось книжку по Informix на русском языке выпустить, с минимальной финансовой и моральной поддержкой от IBM...


Да поддержать то не вопрос, я сейчас занимаюсь организацей локального IDUG, в его рамках и книгу можно выпустить. Кто писать будет или какую нужно перевести?

Кто хочет выступить и рассказать на мероприятии о своем опыте, а не что бы все IBM рассказывал.

Следует понимать, что IBM большая компания, некоторые вещи не сразу видны и не сразу становятся лучше. Я когда был в лаборатории, разработчики Informix сами говорили, что в IBM лучше живется. Там инвестиций полно начиная от HW, до людей и технологий.

И кто из IBM'a говорил что Informix прибивают??? В этом году даже брэнд поменяли, что бы информикс не был под зонтиком _DB2_ Information management, а направление целиком называлось IBM Information Management


onstat -
Хотелось бы знать ваше отношение к проекту, не как сотрудника IBM,
а как человека приближенного к спецификациям.
Правда спецификации тоже не помешали бы. :)


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

onstat -
Как на счет переноса DSA в DB2?


Зачем? IMHO экономически и технологически на данный момент неоправдано.
Слишком много менять надо, да и архитектура DB2 не так уж и плоха как вам кажется. Она другая.

То что на UNIX DB2 реализована на процессах, это можно трактовать как минус и как плюс, не вдаваясь в детали:

Минус: На threads не нужно переключение контекста, etc
Плюс: Меньше Latching, что дает преимущества при mixed workload.

В одном из разговоров за чашкой пива :) один из разработчиков сказал для перевода DB2 на threads нужно переписать ~4 ф-ции. Незнаю правда ли это, но понимаю почему это _не_ делают. Кто будет гарантировать обратную совместимость и сколько ошибок на верхнем уровне это может принести. Кто будет гарантировать стабильность ядра. IMHO Informix стал падать когда начал усиленно толкать объектное ядро и добило его как независимую компанию переезд в Канзас.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084135
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikov В.K
Вы бы не только наблюдали, но и выводы делали... А то мне разные люди пишут, что "по ходу общения с IBM-овцами выяснилось, что они Informix хоронят"... Почему люди к таким выводам приходят, а? А всего-то и предлагалось книжку по Informix на русском языке выпустить, с минимальной финансовой и моральной поддержкой от IBM...

Да поддержать то не вопрос, я сейчас занимаюсь организацей локального IDUG, в его рамках и книгу можно выпустить. Кто писать будет или какую нужно перевести?

Опс-с-с... Такое впечатление, что о книжке ты первый раз услышал...
Николай, а разве ты уже не помнишь мои письма с этими предложениями ?
Был представлен план и описание книги, писать ее готов хоть сейчас тот же самый В.К. - человек с большим опытом написания и перевода серьезных книг.
Это предложение (причем без всяких финансовых требований - предлагалась только услуга и спрашивалась возможность помощи) было направлено и в Киевское представительство, а потенциальное издательство даже в Штаты писало....но все как в песок. Даже отрицательного ответа ни от кого не увидели. Уж больно монстровидная и бюрократическая структура, поэтому, что бы что то сдвинуть, нужен "толкатель" внутри фирмы, которому эта идея должна понравится :)
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084148
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у тебя уже готова книга, я могу помочь ее издать. Я не волшебник. Все сделать не могу. В данный момент обсуждается возможность перевода.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084151
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Боюсь нарушить ваш оптимизм, но хотелось бы обратить внимание на 2 вещи :
1. Исходники информикса 7.31 в gzip виде занимают примерно 500M. 9.3 - ~900M. Вы "это" собираетесь переписать вдвоем, в свободное от работы время ?
2. За использование структур данных, протоколов обмена и идей по организации внутренностей - АйБиЭм скорей всего оторвет голову по самые помидоры. Все покрыто патентами.

Более реальным является план, когда "голубым" надоест поддерживать 2 одинаковых продукта и они сдадут Информикс "в донэйшен". Но при этом, боюсь, продажи DB2 катастрофически упадут :-). Причем для поддержки фришного продукта группа энтузизистов организует компанию а-ла Red Hat, скажем... InformixTwo (R) ... и получатся те же яйца, что и до покупки кое-кем кое-кого, только в профиль.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084656
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegalloБоюсь нарушить ваш оптимизм, но хотелось бы обратить внимание на 2 вещи :
1. Исходники информикса 7.31 в gzip виде занимают примерно 500M. 9.3 - ~900M. Вы "это" собираетесь переписать вдвоем, в свободное от работы время ?
2. За использование структур данных, протоколов обмена и идей по организации внутренностей - АйБиЭм скорей всего оторвет голову по самые помидоры. Все покрыто патентами.

Более реальным является план, когда "голубым" надоест поддерживать 2 одинаковых продукта и они сдадут Информикс "в донэйшен". Но при этом, боюсь, продажи DB2 катастрофически упадут :-). Причем для поддержки фришного продукта группа энтузизистов организует компанию а-ла Red Hat, скажем... InformixTwo (R) ... и получатся те же яйца, что и до покупки кое-кем кое-кого, только в профиль.

1. Понятно, что ни вдвоем, ни в десятером 500 Мбайт кода не пишется за разумное время (я за всю жизнь столько текстов не написал в сумме, наверное).

Но! Есть, например, код ядра Linux (или FreeBSD, или Solaris - увидим, насколько большой) достаточно большого объема, а была еще AT&T System Seven с кодом собственно ядра в 47К, что-ли. При значительно совпадающей функциональности. И ее запросто переносит на GameBoy один очень талантливый индус, в свободное от работы время. Если мы откажемся от HDR, Fragmentation и прочих действительно нужных в определенных условиях, но далеко не всем, возможностей, все может заметно упроститься. Важна идея DSA.

Дальше. Есть огромная часть кода, которая просто берется из других проектов с открытыми исходниками. Например, SQLite, SimpleSQL, SAP DB (о, вот он, кстати, и блокировочник из мира OpenSource!), MySQL, PostgreSQL и т.п. Речь идет об анализе и оптимизации SQL, например. Понятно, что "поделке" этой будет далеко до IDS, так MySQL на ISAM-таблицах далеко до СУБД вообще, но ничего, работает :)

2. По-моему, IBM все равно, что тут и как с ее продуктами и протоколами происходит. Они, формально, и за использование no_log.bat из одной команды exit могут на меня в суд подать :), но что-то не торопятся. Кроме того, DataDirect для своих ODBC-драйверов, да и производители JDBC-драйверов в свое время ведь смогли то ли уговорить Informix на предоставление описания протокола, то ли просто его понять. Впрочем, это тоже не так важно - важна идея DSA (один пользователь - один внутренний поток).

А что касается передачи Informix в общее пользование - так этого и добиваемся, если IBM, вдруг, откажется от ее самостоятельного развития. Чтобы хорошую СУБД не постигла судьба прочих "вторых аналогичных" продуктов в крупных компаниях.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33084667
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.К. nkulikovБудучи сотрудником IBM интересно наблюдать за вашими мыслями.
По поводу выбора языка. Informix и DB2 на 80% написаны на C, основная причина переносимость кода.

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



Переносимость зависит от 2 вещей
1. Компилятор ( g++(gcc) есть для всех платформ которые мы затрагивали).
и он уже переносим. О портировании на Windows мы пока не говорим.

2. Отличия в поведении системных вызовов.

Второй пункт от языка не зависит.

И еще, можно писать разные модули хоть на C
хоть на С++, а собирать компилятором и линкером C++.

В.К.
Про KAIO (IMHO): самого механизма реализации на уровне ядра ОС не знаю, но на уровне Informix это просто другой алгоритм работы потока Informix (не в очередь ждущих он отправляется, где его поток AIO найдет, а в очередь спящих, где его будет ADM VP периодически будить...).


Можно будет попробовать, но что -то одно AIO VP или KAIO.
см. коментарий ниже

В.К.
Насчет ontape: это ж наше все! У сервера должен быть сразу предусмотрен режим сохранения предварительных образов страниц из физического журнала во временных таблицах по ходу архивирования, и все. Зачем нам повторять ошибки Oracle? Чтобы продукт имел успех, он должен с минимальными изменениями заменять Informix.


Я имел ввиду копирование файлов целяком,
вместо копирования только занятых страниц.
С последующим востановлением всей структуры файла при востановлении.
Это ускорит разработку см. коментарий ниже.

В.К.
Кстати, не вижу формальных проблем в том, чтобы и структуру страницы данных, например, повторить, и структуру индексов. В версии 7.xx там все просто и понятно :) Короче, если проект станет для IBM Informix тем, чем стала Samba для Microsoft Network-а , - это будет отлично.

Это все пока по-прежнему - эмоциональная реакция...

Я тоже не вижу технических проблем, но могут быть юридические.


А теперь общий коментарий.
Есть два момента.
1.Ресурсный.
2. Мотивационный.
Все они завязаны на выход первой версии продукта.
На этапе разработки первой версии в проекте будет участвовать
мало людей, соответственно тяжело будет реализовать все.
После выхода первой версии, проект будет уже не просто словами а
делом и к проекту могут присоединиться
большое количество людей силами которых скилет архитектуры
можно будет наращивать фукционалом.
А также появятся отзывы об эксплуатации.
Если же пытыться повторять весь функцонал, как он есть, сразу
1 версия не выйдет никогда.

По поводу мотвационного момента. Любой человек, или команда
испытывает удовлетворение от завершения определенного этапа работы.
Если выход первой версии затянется, может получится неприятная
систуаци, когда учасники проекта потеряют энтузиазм, и проект
потухнет на половине пути.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33085376
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-
А теперь общий коментарий.
Есть два момента.
1.Ресурсный.
2. Мотивационный.
Все они завязаны на выход первой версии продукта.
На этапе разработки первой версии в проекте будет участвовать
мало людей, соответственно тяжело будет реализовать все.
После выхода первой версии, проект будет уже не просто словами а
делом и к проекту могут присоединиться
большое количество людей силами которых скилет архитектуры
можно будет наращивать фукционалом.
А также появятся отзывы об эксплуатации.
Если же пытыться повторять весь функцонал, как он есть, сразу
1 версия не выйдет никогда.

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


В целом, согласен. Главное - убедиться в реализуемости DSA и в том, что наша реализация реально работает.

Про языки: хорошо, может быть и g++ на первом этапе, если тебе так удобнее. В любом случае, предлагаю сильно попользоваться результатами других open-source СУБД, в частности, www.simplesql.org, например.

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

Что касается юридических проблем, то, если не декларировать использование протокола и полную совместимость (пока), то дело это будет весьма мутным, и IBM этим заниматься вовсе не станет. У них уже есть подобное заниятие со SCO... И, в отличие от IBM с SVR4, у нас даже шансов не было посмотреть на исходные коды IDS, правда?

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

P.S. Однажды самовлюбленный дядька Ларри Эллисон с парой умных специалистов уже наказал IBM за неповоротливость и самоуверенность...
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33085787
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.К

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



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

О чем нужно подумать во время чтения и осмысления. IHMO

1. Основные(элементарные) типы данных которыми будет оперировать ядро.
На вскидку:
Целые числа.
Числа с плавающей точкой.
Стороковые.
дата и время.
Стек.
Очереди.

Подумать о их допустимых диапазонах значений и размерах
и количестве элементов(для структур) по умолчанию.
И необходимости их параметризации или автоматического
изменения размера при необходимости.


2. Подготовить для согласования общественностью классы виртуальных процессоров и их обязаности.

3. Оценить ISAM ошибки Informix DS и переосмыслить
стратегию их переноса в ядро,
с учетом приблизительного(пока) места их обработки внутри ядра.


Для начала, на первые несколько недель думаю достаточно,
с учетом факультативности проекта.

Изменения и дополнения приветствуются.
добро пожаловать в команду OpenDSA

з.ы. Я пошел читать первоисточники.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33086046
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сначала надо написать собстевнную библиотеку базовых ф-ций.

1) *alloc,sprinf,atoi, strcpy -> в что-то типа odsaStrCopy( buffer, var, sizeof( buffer )
2) Эти ф-ции должны быть кросплатформенными (код)
2) соответсвено как и когда делать кастинг, проверять NULL etc ;
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33086098
onstat-
1. Основные(элементарные) типы данных которыми будет оперировать ядро.
На вскидку:
Целые числа.
Числа с плавающей точкой.
Стороковые.
дата и время.
Стек.
Очереди.

Подумать о их допустимых диапазонах значений и размерах
и количестве элементов(для структур) по умолчанию.
И необходимости их параметризации или автоматического
изменения размера при необходимости.


2. Подготовить для согласования общественностью классы виртуальных процессоров и их обязаности.

3. Оценить ISAM ошибки Informix DS и переосмыслить
стратегию их переноса в ядро,
с учетом приблизительного(пока) места их обработки внутри ядра.


1. Типы данных (в терминах Informix):

CHAR(n), n<=32767
VARCHAR(n,m)
SMALLINT, INTEGER, INT8 - м.б. своя структура
SERIAL, SERIAL8
SMALLFLOAT, FLOAT (машинная арифметика с плавающей точкой)
DECIMAL (своя арифметика, до 32 или 38? значащих цифр - своя структура)
DATE (=INTEGER по внутреннему представлению)
DATETIME [YEAR TO FRACTION 5] - свое представление момента времени - своя структура
BYTE (для больших объектов до 2-4 Гбайт, с последовательным доступом, но храниться будут в обычных dbspace, только на отдельных страницах) - своя структура

Остальные типы данных - служебные, просто используются ядром.

2. Классы виртуальных процессоров:

CPU - все, что не требует ожидания (разбор, оптимизация, выполнение SQL вплоть до выяснения, что страницы нет в буферном кеше), вычисления и т.п.
LIO - ввод-вывод в логический журнал (записать содержимое буфера журнала в указанный "файл" с указанной позиции, прочитать страницу из журнала)
PIO - ввод-вывод в физический журнал (записать содержимое буфера журнала в "файл" с указанной позиции)
AIO - ввод-вывод в чанки (файлы данных), раз мы пока с KAIO не заморачиваемся. Записать страницу из указанного буфера в "файл", прочитать страницу из "файла" в указанный буфер, выдать стоку текста в указанный файл, прочитать строку текста из указанного файла.
ADM - таймер ("тикнуть", обработать очередь спящих, заснуть)
MSC - прочие задачи, пока неясные (например, перезапуск "упавшего" виртуального процессора другого класса)
SOC - опрос сокета

3. Пока сказать нечего. Если мы будем использовать свой механизм хранения данных, не факт, что нам нужно поддерживать все эти ошибки. Но проанализировать надо.

Ошибка выявляется виртуальным процессором, он пишет сообщение и вызывает обработчик (внешний, скрипт) с передачей ему кучи информации.

4. Собственно, механизм работы с буферным кешем надо продумывать, механизмы блокирования изучать. И думать, как реализовывать внутренние блокировки структур памяти (mutex, enqueue) при работе виртуальных процессоров. И написать общий цикл работы для каждого процессора типа:

"Я виртуальный процессор такого-то класса, я сейчас работаю, и закончил очередную операцию. Что делать дальше?..."

Ну, и последовательность действий при начальном запуске сервера и остановке.

Пока все.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33086275
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чемберлен a.k.a В.К

Остальные типы данных - служебные, просто используются ядром.



Эти служебные типы данных и должны представлять собой базу
для виртуальной машины, чтобы уйти от OS зависимости VP.
И десятикратного переписывания одинаковой логики.

В любом случае виртуальные процессоры будут
оперировать указателями на эти структуры и стандартизовать
их и функции обработчики лучше сразу
(По ходу можно вносить изменения).

Если кодинг начнется без их стандартизации,
порядок потом навести будет очень трудно.

В документации есть ссылка на внутренние регистры в блоке TCB.
Интересно каков их логический смысл?.


Чемберлен a.k.a В.К


3. Пока сказать нечего. Если мы будем использовать свой механизм хранения данных, не факт, что нам нужно поддерживать все эти ошибки. Но проанализировать надо.

Ошибка выявляется виртуальным процессором, он пишет сообщение и вызывает обработчик (внешний, скрипт) с передачей ему кучи информации.


Я хотел бы расширить понятие ISAM ошибки.
Это не обязательно ошибка, это ситуация, например:

При вставке записей заканчиваются все страницы в экстенте,
возникает ошибка ISAM, которую сервер(VP или нить) может
обработать самостоятельно, выделить следующий экстент таблице
вызвав соответствующий обработчик,
а потом вернуться к вставке.

То есть к ISAM ошибкам можно отнести все ситуации,
требующие дополнительной обработки с усыпанием текущей сессии .

Мне кажется что реально мы видим очень малую часть этих ошибок.
Там есть над чем работать.

Кстате, складывается у меня ощущение, что нужно будет их сортировать
еще и по приоритету обработки.
И класифицировать по обработчику(
запустить отдельную нить VP, непосредственно сам VP или другим VP).


Чемберлен a.k.a В.К
ADM - таймер ("тикнуть", обработать очередь спящих, заснуть)


Приблизительное API, которое может тикать, с точностью до микросекунды,
а может быть и не только тикать, а и оперировать datetime типом данных.
(взял из своего проекта).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
#include <stdlib.h>
#include "strs.h"   
#include <unistd.h>
#include <sys/time.h>

class c_utime :public timeval
{
struct timeval t_time; // internal buffer
struct timezone s_tz;
sbuffs sbuffer;         // string buffer
public:
c_utime();                   // init by current time
c_utime(long f_tmms);  // init by  current time + f_tm(microsecond);
                                // if f_tmms== 0  init by  00 : 00 
~c_utime();
c_utime reset();          // reset time to current time
c_utime& operator-(  c_utime& f_time);
c_utime& operator+(  c_utime& t_time);
c_utime& operator=(  c_utime& f_time);
bool  operator==(c_utime& f_time);
bool  operator>(c_utime& f_time);
bool  operator<(c_utime& f_time);
int   zero();             // reset  to  00 : 00 
operator char*();     //  char* in  some format
};
Напильником конечно придется еще потрудиться:).
Время берется у ОС, как быть с параметром USEOSTIME=0 пока не знаю.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33093147
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, а еще важная часть работы - API для получения физического адреса страницы таблицы по rowid, для получения очередной строки со страницы, записи индекса по ключу и т.п. Все это завязывается на структуру страниц, которую я предлагаю таки брать у Informix без изменений. По крайней мере - для таблиц и индексов, т.е. ту часть, которая описана и понятна.

Кстати, инструментальное средство для просмотра структуры страниц Informix и их редактирования и бы с удовльствием сделал, как часть проекта. Давно собирался...

Что-то нету больше желающих поучаствовать :)
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33093688
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Желающих нет поскольку непонятен смысл этих телодвижений. А вот про редактор страниц я сам давно думаю, только если делать - то делать универсальный, с языком описания структуры данных на диске (страница, чанк, dbspace, таблица, индекс, битмапы...) ориентируясь сразу на несколько БД.
...
Рейтинг: 0 / 0
Free DSA | Open DSA
    #33095347
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegalloЖелающих нет поскольку непонятен смысл этих телодвижений. А вот про редактор страниц я сам давно думаю, только если делать - то делать универсальный, с языком описания структуры данных на диске (страница, чанк, dbspace, таблица, индекс, битмапы...) ориентируясь сразу на несколько БД.
А заодно еще и с визардами по типовым операциям, типа удаления кривого чанка, очистки логов и т.п. :))
Только придется учитывать и различные платформы, и "сырые" и "подготовленные" пространства и файловые системы...
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Informix [игнор отключен] [закрыт для гостей] / Free DSA | Open DSA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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