powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Организация ООСУБД и С++
25 сообщений из 78, страница 3 из 4
Организация ООСУБД и С++
    #32953042
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. ты хочешь:
1 - запускаешь exe (об-ты пока не читаются).
2 - указываешь SQL выражение поиска нужных об-тов.
3 - Команда - Фас! провайдеру БД.
4 - Провайдер нашёл твои 20000 об-тов за 0,2 сек.
5 - Ты их имеешь в кэше в COM от провайдера ADO MS.
6 - Пробегаешь по списку COM - IADO.Next; и конструктор для объекта.
Куда ты его денешь потом как не в свой список?
Или ты перед следующим next он тебе не нужен?

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953044
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k Petro123
Из миллиона объектов БД ты отрисовываешь только видимые!

а binary space partition это не в эту тему?
вон у квэйка открыты исходники, там это реализуется...

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

Сомневаюсь что Интегратору это поможет.

Хотя идея интересная.
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953049
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k Petro123
Из миллиона объектов БД ты отрисовываешь только видимые!

а binary space partition это не в эту тему?
вон у квэйка открыты исходники, там это реализуется...
Мне всегда интересно - есть ссылка кинь.
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953097
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Т.е. ты хочешь:
1 - запускаешь exe (об-ты пока не читаются).
2 - указываешь SQL выражение поиска нужных об-тов.
3 - Команда - Фас! провайдеру БД.
4 - Провайдер нашёл твои 20000 об-тов за 0,2 сек.
5 - Ты их имеешь в кэше в COM от провайдера ADO MS.
6 - Пробегаешь по списку COM - IADO.Next; и конструктор для объекта.
Куда ты его денешь потом как не в свой список?
Или ты перед следующим next он тебе не нужен?

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Посмотрите как это реализовано в FastDB от Константина Книжника - и приблизительно поймёте что я хочу.

http://www.ispras.ru/~knizhnik/fastdb/readme.htm

Зачем мне нужен КЭШ если я буду использовать embedded СУБД, работающую в КОНТЕКСЕ моего процесса. Посмотрите ещё раз тот код который я по быстрому написал dsit - по нему легко понять как я виже работу с базой - всё предельно просто и прозрачно.

Вы всё перекладываете на принципы работы РСУБД. Однако в РСУБД нет объектов и соответсвенно не может быть прямого доступа к памяти, где живёт объект - но это совершенно не значит что ВСЕ системы так работают !
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953166
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 alex_k
а binary space partition это не в эту тему?
вон у квэйка открыты исходники, там это реализуется...
Мне всегда интересно - есть ссылка кинь.
минуты не потратил
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953192
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите как это реализовано в FastDB от Константина Книжника - и приблизительно поймёте что я хочу. ========= Посмотрел - это представитель ОРСУБД (2-ой вариант начала нашего трэда).

Зачем мне нужен КЭШ если я буду использовать embedded СУБД, работающую в КОНТЕКСЕ моего процесса. ========== Да, тут я совсем забыл, но принцип не меняется. Всё равно класс начинает жить либо инициализируемый БД (объектная БД/ОРСУБД) либо клиентом БД (РСУБД). Другого не дано.
При объектной БД при проходе курсора по записи
Код: plaintext
while (cursor->hasNext()) {
ОБД за Вас делает конструктор объекта. Т.е. при любых выборках и проходе по записям происходит сериализация!

Посмотрите ещё раз тот код который я по быстрому написал dsit - по нему легко понять как я виже работу с базой - всё предельно просто и прозрачно.=========== Конечно - вы получаете экземпляр, а что его когда надо и не надо делает БД вам начихать.

Вы всё перекладываете на принципы работы РСУБД. Однако в РСУБД нет объектов и соответсвенно не может быть прямого доступа к памяти, где живёт объект - но это совершенно не значит что ВСЕ системы так работают !=============== Выше я сказал как работает ОБД - на каждый ваш next - конструктор в БД.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953220
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Выше я сказал как работает ОБД - на каждый ваш next - конструктор в БД.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Если действительно каждое обращение к объекту приводит к его конструированию (в чём честно говоря я пока сомневаюсь, так как БД вполне может сериализовать оьъект только по мере необходимости а не сразу), то в этом случае единственный вариант - писать свой менеджер объектов (по сути свою базу), так как сериализация мне не нужна по сути. Как я уже сказал выборку объектов из одной коллекции я могу легко прикрутить - единственный открытый пока вопрос - как организовать связи между объектами с воддержкой целостности.
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953256
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. ты хочешь_2:
1 - запускаешь exe (об-ты пока не читаются).
2 - указываешь SQL выражение поиска нужных об-тов.
3 - Команда - Фас! БД.
4 - БД нашла твои 20000 об-тов за 0,2 сек.
5 - Ты ХОЧЕШЬ ИМЕТЬ ЭКЗЕМПЛЯРЫ ИЛИ ЧТО?
...........
6 - Пробегаешь по списку COM - IADO.Next; и конструктор для объекта.
Куда ты его денешь потом как не в свой список?
Или ты перед следующим next он тебе не нужен?

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953267
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Т.е. ты хочешь_2:
1 - запускаешь exe (об-ты пока не читаются).
2 - указываешь SQL выражение поиска нужных об-тов.
3 - Команда - Фас! БД.
4 - БД нашла твои 20000 об-тов за 0,2 сек.
5 - Ты ХОЧЕШЬ ИМЕТЬ ЭКЗЕМПЛЯРЫ ИЛИ ЧТО?
...........
6 - Пробегаешь по списку COM - IADO.Next; и конструктор для объекта.
Куда ты его денешь потом как не в свой список?
Или ты перед следующим next он тебе не нужен?

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Я хочу иметь указатели на объекты.

Соответсвенно перебор - как перебор vector<Class*> через итераторы например.

Когда я кладу в хранилитще - последнеее получает указатель на объект, никаких клонов не делает.
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953271
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сериализацию база будет осуществлять запрашивая у объекта интерфейс Serializable и только по запросу пользователя
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953343
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чём тогда проблема?
Имеем в БД:
id typ blob_serialyze Указатель1 10 FFFFFFF000 Null2 13 FFFFFFF080 2525543 15 FFFFFFF060 567889

Т.е. ты хочешь_3:
1 - запускаешь exe (об-ты пока не читаются).
Плевать как запускаешь.
Добавляешь указатель на объект в БД и БД хранит указатель и тип объета (для получения обратного преобразования). Либо интерфейс у всех одинаков и по нему узнаешь всё что хошь.
То-же что твоя коллекция, только поиск по SQL, индексация, поиск не перебором и т.д.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953387
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В чём тогда проблема?
Имеем в БД:
id typ blob_serialyze Указатель1 10 FFFFFFF000 Null2 13 FFFFFFF080 2525543 15 FFFFFFF060 567889

Т.е. ты хочешь_3:
1 - запускаешь exe (об-ты пока не читаются).
Плевать как запускаешь.
Добавляешь указатель на объект в БД и БД хранит указатель и тип объета (для получения обратного преобразования). Либо интерфейс у всех одинаков и по нему узнаешь всё что хошь.
То-же что твоя коллекция, только поиск по SQL, индексация, поиск не перебором и т.д.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

В принципе можно попробовать что то подобное, даже можно сравнить скорость работы на том же MySQL в embedded варианте и обычной моей коллекции.

Явный минус: неудобно делать сссылки между ообъектами - придётся заводить отдельную таблицу для связей id1-id2 и выборка типа отобрать все обхекты типа itypeId, на которые ссылается текущий объект будет долгой...
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953428
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯвный минус: неудобно делать сссылки между ообъектами - придётся заводить отдельную таблицу для связей id1-id2 и выборка типа отобрать все обхекты типа itypeId, на которые ссылается текущий объект будет долгой...
Да, как выше говорил:
- деревья не R-tree а таблицами в РСУБД.
- R-tree как фича БД
- R-tree ручками на клиенте (MapInfo делает дерево-кэш в оперативке а потом с ним работает). Есть библиотеки на С++.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953467
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 авторЯвный минус: неудобно делать сссылки между ообъектами - придётся заводить отдельную таблицу для связей id1-id2 и выборка типа отобрать все обхекты типа itypeId, на которые ссылается текущий объект будет долгой...
Да, как выше говорил:
- деревья не R-tree а таблицами в РСУБД.
- R-tree как фича БД
- R-tree ручками на клиенте (MapInfo делает дерево-кэш в оперативке а потом с ним работает). Есть библиотеки на С++.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Вот здесь не совсем вас понимаю...
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953546
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.chair36.msiu.ru/science/science/articles/3/html/node57.html
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953555
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docs.luksian.com/programming/theory/sorting/
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953584
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу на мыло выслать R-tree на С++.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32953602
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Могу на мыло выслать R-tree на С++.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Давайте на albatrosb@newmail.ru
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32954905
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь смотрим что мы имеем.

Таблица объектов ObjectTable содержит
object_id,class_id, serialized_data, object_pointer

+ каким то образом организованы связим между объектами например в вижде таблицы RelationTable
object_id1, object_id2

Хранит все объекты нерационально в одной таблице, так как много объектов разного типа - долго будет проходить выборка. Приходим к варианту одна иерархия - одна таблица ObjectTable.

Что получаем в итоге:

sql использовать можно только для выборки объектов на которые ссылается заданный объект - и всё, либо объектов заданного конкретного класса в пределах иерархии.

Получаем по сути mapping объектов нареляционные структуры со всеми вытекающими проблемами - например необходимость создания таблиц по классам и т.д. и .т.п., написанием всей инфрастуктуры mappiing'a

То есть прихожу как раз к тому от чего хочу отойти - никаких моих коллекций, всё прозрачно помещается в базу. Из приобретений - только выборка связанных объектов, что с тем же успехом и более эффективно могу реализовать и своими средствами. Ещё раз повотрюсь - не путайте мо задачу с задачей типчный программёшок про работе с БД - так называемый бизнес-приложений :) ( взял из базы данные - сделал пару арифметических опрераций - положил обратно), где задача основная - хранить данные в базе периодически их обрабатывая.

У меня задачи хранить данные можно считать что нет - задача - легко и предельно просто и быстро получать объекты C++ по заданному условию. Причём процесса "положить" в базу просто нет - считается что я получаю непосредственно указатель на объект и все изменения автоматом осуществляются в хранилдище.
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32954911
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Могу на мыло выслать R-tree на С++.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Спасибо за код ! ;) Изучим ...
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32954992
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё что сказали это понятно. Те кому надо деревья-связи в РСУБД (например структура предприятия по отделам) именно так и делают. Только это всё отработано и есть куча примеров.
В Вашем случае - изучите R-tree в собственной реализации и R-tree в реализации БД которая это поддерживает .
И выбирайте - нужна ли Вам эта технология.
Т.к. R-tree это тоже коллекция как у вас. И она счас наиболее перспективная.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32959367
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Интегратор

Любопытно, вы смотрели ООСУБД FastObjects t7 ? Мне показалось, что по своим техническим возможностям она вас должна удовлетворять. Или же это не так ?
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32959410
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo2 Интегратор

Любопытно, вы смотрели ООСУБД FastObjects t7 ? Мне показалось, что по своим техническим возможностям она вас должна удовлетворять. Или же это не так ?

Огорчает небесплатность :)
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32959489
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo2 Интегратор

Любопытно, вы смотрели ООСУБД FastObjects t7 ? Мне показалось, что по своим техническим возможностям она вас должна удовлетворять. Или же это не так ?
При этом не забываем отделить "зёрна от плевел" - http://www.sql.ru/forum/actualthread.aspx?tid=143322&pg=5#1194915
...
Рейтинг: 0 / 0
Организация ООСУБД и С++
    #32959685
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интегратор Alexey Rovdo2 Интегратор

Любопытно, вы смотрели ООСУБД FastObjects t7 ? Мне показалось, что по своим техническим возможностям она вас должна удовлетворять. Или же это не так ?

Огорчает небесплатность :)

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

PS: Из бесплатных можете обратить внимание на BerkleyDB.
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Организация ООСУБД и С++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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