powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Новая бесплатная БД – К3 (Кэтрин)
25 сообщений из 156, страница 5 из 7
Новая бесплатная БД – К3 (Кэтрин)
    #36827638
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За ап спасибо =)

Нет. Готов дизайн-проект следующей версии. Будет:

-переписан механизм многопоточности на работу без блокировок (очереди);

-переписана часть чистого Си-кода на STL идеологию;

-разделение на серверную(базовую библиотеку) и клиентскую части под разные языки и заготовками под клиент-сервер;

-возможно, режим LastCommited через кэш (слишком жесткие оказались ограничения TxF);

Сейчас выбираю/тестирую тулсет для обеспечения межкомпиляторной совместимости.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36827814
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl-разделение на серверную(базовую библиотеку) и клиентскую части под разные языки и заготовками под клиент-сервер;Мням... Таки Перл будет =))
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36827837
dedal-guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без поддержки популярнейшего формата современности Tj7 ваша поделка обречена на провал!!!
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36827853
Сам_в_ужасе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedal-guestБез поддержки популярнейшего формата современности Tj7 ваша поделка обречена на провал!!!
Пошел отсюда. Здесь люди делом занимаются, а не в игрушке играют.

2Siemargl:
Продолжайте, я тихо и скромно наблюдаю тут.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36873024
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglСейчас выбираю/тестирую тулсет для обеспечения межкомпиляторной совместимости.
Лед тронулся (с)

К сожалению, решение совместимости не очень красивое. Тут в конце

Тулсет:
-компилятор GCC/MinGW и MSVC
-многопоточность, актеры, умные указатели, логгер, http-сервер, сжатие и проч из dlib.net
-BSON/JSON из MongoDB

Побочный эффект - библиотеки и компиляторы 100% кроссплатформенны, есть шансы написать *nix-версию )

TODO0. Actor multithreading model.
01.Rewrite using STL algorithms.
02. Remove/optimize giant lock on cache -> Actors
02.1. Change cache structure/Hierarchy

03. Disk parallelizm -> Actors
03.1. Teach diskblock to read/write partially, at least read/RO
03.2. move hashFname to disk:: with block.load(,....offset)
03.3. open file by default for reading, helps in 04.2
04. Higher levels of trans-isolation
04.2. LastCommitted through cache (because of TxF too restrictive locking)
04.1. File-server feature. Requires file-locking feature and locks list. This also gives Repeatable Read & Serializable.


10. Library/client division. Language independent serverlib, other languages in client's bindings (C, C#, D, Delphi/CBuilder). Contract programming.
20. BSON/JSON
21. HTTP server engine.
22. Javascript binding.
30. EntityDepends
5. file distribution by UID very weird - too many files
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36878675
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна из основных задач - прозрачность использования. Уткнулся в выбор - как удобнее сделать иерархию?

Сейчас в 1.0
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 1 . k3trans	    trans1(L"transact1");  // создали транзакцию (опционально)
 2 . k3entity	ent_objs(&trans1, L"ACID", k3acidobj());  // создали объект "ACID" - множество объектов определенного типа (k3acidobj)

 3 . trans1.start();   // начали транзакцию
 4 . k3acidobj obj;  // создали или получили новый объект
 5 . ent_objs.load(key, ovector, L"AGE"); // загрузили массив объектов по неуникальному ключу
 6 . ent_objs.save(obj); // добавили/обновили его во множество

 7 . trans1.commit();    

Вариант 2. Логичнее ли ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 1 . k3trans	    trans1(L"transact1");  // создали транзакцию (опционально)

 3 . trans1.start();   // начали транзакцию
 4 . k3acidobj obj;  // создали или получили новый объект. Тип сам знает, где он хранится
 5 . trans1.load(k3acidobj(), key, ovector, L"AGE"); // загрузили массив объектов определенного типа по неуникальному ключу
 6 . trans1.save(obj); // добавили/обновили его (сам знает куда) в рамках транзакции

 7 . trans1.commit();    // etc

Мне начинает больше нравиться вариант 2.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36878847
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем ACID? У нас-же и так - транзакция... Или я не догоняю?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36878865
Фотография Дедал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

А планируется ли поддержка популярного формата TJ7? и в какие сроки?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36878881
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneА зачем ACID? У нас-же и так - транзакция... Или я не догоняю?И так транзакция. Просто имя объекта такое, из демо/юниттестов на ACID.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36878884
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДедалSiemargl,

А планируется ли поддержка популярного формата TJ7? и в какие сроки?
Формат данных будет только BSON .
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36879128
Фотография Дедал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglДедалSiemargl,

А планируется ли поддержка популярного формата TJ7? и в какие сроки?
Формат данных будет только BSON .А по какой причине вы не хотите поддерживать TJ7???
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36879391
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglДедалSiemargl,

А планируется ли поддержка популярного формата TJ7? и в какие сроки?
Формат данных будет только BSON .Это местный дурачок. Не обращайте внимания. Тупо игнорируйте.

А то есть ACID объект - это типа только для тестирования, да?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36879996
ДедалА по какой причине вы не хотите поддерживать TJ7???
А на кой хрен этот недоформат нужен?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36891134
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выпущена в свет альфа нового ядра. Реализованы заготовки для...

TODO0. Actor multithreading model.
02. Remove/optimize giant lock on cache -> Actors
02.1. Change cache structure/Hierarchy

03. Disk parallelizm -> Actors
10. Library/client division.
Смотреть тут
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36893582
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправил ядро,чтобы самому нравилось. Сделал демку для тестирования (все .dll приложены вместе с исходником)

http://code.google.com/p/catreen-k3dbms/downloads/list
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36907320
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблемы сегментации (объять необъятное).

При реализации возникло интересное ограничение, связанное с транзакциями:
-нетранзакционный доступ - проблем нет
-RC транзакции. проблем почти нет - все берет на себя TxF, за счет потери в скорости

-RR транзакции и Serialisable - нужно блокировать файлы. Чтобы блокировать, нужно держать их открытыми на все время транзакции. Есть ограничение на 2048 одновременно открытых файлов.
С учетом моей архитектуры (много небольших файлов), приведет к ограничению одновременных транзакций.

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

-Объектные структуры в транзакциях будут прилично взаимосвязаны и связи потянут за собой нагрузку на механизм транзакций.

Мысль такая. Не сделать ли основным режимом работы - нетранзакционный, а остальные по желанию разработчика?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36910235
Фотография Дедал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglПроблемы сегментации (объять необъятное).

При реализации возникло интересное ограничение, связанное с транзакциями:
-нетранзакционный доступ - проблем нет
-RC транзакции. проблем почти нет - все берет на себя TxF, за счет потери в скорости

-RR транзакции и Serialisable - нужно блокировать файлы. Чтобы блокировать, нужно держать их открытыми на все время транзакции. Есть ограничение на 2048 одновременно открытых файлов.
С учетом моей архитектуры (много небольших файлов), приведет к ограничению одновременных транзакций.

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

-Объектные структуры в транзакциях будут прилично взаимосвязаны и связи потянут за собой нагрузку на механизм транзакций.

Мысль такая. Не сделать ли основным режимом работы - нетранзакционный, а остальные по желанию разработчика?Без поддержки TJ7 - твоя поделка не стоит и выйденного яйца...
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36965127
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interface 2.0
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
 1 . k3connect   conn("server", "user", "password", default);  // establish remote connection, if need
// local connection always exists (static in client lib)

 2 . k3trans	    trans1(L"transact1", default);  // create transaction (opt). Bind it to default connection

 3 . 1  trans1.start();   // begin transaction (opt). send job @BEGINTRANS@  to server...
 3 . 2  trans1.commit();    // send all pending data

 4 . k3acidobj obj;  // create new object of type "k3acidobj". Type is smart enough, where to store

 5 . 1  obj.save(trans1); // store object to disk. send job @SAVE@BSON@.
// internally calls updateDepencies for all open indexes
 5 . 2  obj.drop_all(nontransacted); // delete all objects of this type. send job @DROP@ to k3trans

 6 . 1  obj2.load(id); // loads from nontransacted
 6 . 2  obj2.load(id, trans1); // loads from trans1

 7 . 1  vector<> ovector = obj.load(trans1, key, L"AGE"); // load in memory array of objs by non-unique key == "AGE",
// first item is duplicated in obj. This is for small results only
 7 . 2  vector<> ovector = obj.load(trans1, L"AGE=12.AND.CITY='KRASNODAR CITY'"); // as above, but for simple expressions
// future c/s design goal, need expression parser

 8 . 1  k3cursor cur = objs.query(trans1, key, L"AGE"); // create cursor for query "AGE"=key
cur.setBatch( 1000 ); // large amount of data dynamically loaded. Every  1000  records in a time
cur.for_all(printFunctor);
 8 . 2  k3cursor cur = objs.query( 150 ,  180 ,  0 , L"SERNUM"); // create cursor for query  150 <="SERNUM"<= 180 
for(it = cur.begin(); it != cur.end(); ++t) workFor(it);
 8 . 3  k3cursor cur = objs.query(trans1, L"AGE=12.AND.CITY='KRASNODAR CITY'"); // future c/s expression design
 8 . 4  cur.update("SET CITY='DEFAULT CITY'"); // future server-side mass update

// local client - call conn_manager.pipe.enqueue(job), remote - transport to server receiving thread and wait
// no need in real sending, before commit
// nontransacted always bound to default connection
Совсем некогда писать =(
Ждем Н.Г.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36965161
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно (как всегда). Оно все таки и существует только под Win (из за NTFS)?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36967140
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone, я файловый модуль еще не переписал - заморочек много =)
Мне нужно добавить возможность работы с большими файлами и блокировки.

Скорее всего модуль будет частично переносим - но транзакции только под win - под линух транзакций нет и схема блокировок кардинально несовместима.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36967281
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglWarstone, я файловый модуль еще не переписал - заморочек много =)
Мне нужно добавить возможность работы с большими файлами и блокировки.

Скорее всего модуль будет частично переносим - но транзакции только под win - под линух транзакций нет и схема блокировок кардинально несовместима.А может все-таки полностью, но fs должна быть ntfs?? В этом случае у вас все остается.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36968288
Vinny the POOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone, а что, линуховый НТФС-драйвер поддерживает транзакции? Там же вроде только read/write реализован, и то не знаю, насколько надёжно. Недавно ещё и write нормального не было, а транзакции и версионность в НТФС разве не фичи новых выней (7, 2008Р2)?
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #36970947
dedal-guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Транзакции реализованы в FVMas - стопудняково!!!1 на любой ОС!!!
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #37453743
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму-ка наверх.
...
Рейтинг: 0 / 0
Новая бесплатная БД – К3 (Кэтрин)
    #37453827
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой унылый проект, танец с бубнами.

Только Стебелек давал рассовое превосходство в 300+ раз,
а по факту оставил зазоры превосходства в тысячи раз.
64 миллиона запросов в секунду на одно ядро явное тому подтверждение.

Он базировался на трех китах:
1. Абсолютно уникальной системе поиска, заменившего бинарные деревья и хеши
2. Уникальная разработаная система сериализации/десериализации на диск.
3. Уникальный алгоритм группировки запросов в очереди.

А что уникального есть здесь ?
Бубен на тему кешей и по тестам это прекрасно видно. Ничего выдающегося.

Вообщем очень жаль.
Алгоритмов и разработок я нагреб как минимум на диплом, как максимум на дисер в хороший
вуз по вычислительной техники. Но диплом свой защитил ( студия ), а этот проект пожалуй будет болтаться,
ждать своего часа, ито если он прийдет.
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 5 из 7
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Новая бесплатная БД – К3 (Кэтрин)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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