powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
20 сообщений из 20, страница 1 из 1
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839748
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Есть аналитическая система на базе NoSQL. Хранит би-теморальные метадаты. Наподобие.

keyvaluestartend

Primary key : (key,start,end)

Еще ограничение бизнес-уровня. Временные отрезки для каждого одинакового key - не пересекаются. Но могут
быть открытыми в плюс-бесконечность.

В виде сущности
Код: java
1.
class BiTemporalMeta(var key: Int, var value: String, var start : LocalDate, var end : LocalDate)



Возникла идея - прикрутить к ней какое-то подобие SQL интерфейса чтоб можно было делать
выборки с фильтрами.

Сущности - это просто value в NoSQL системе. В качестве key там используется некий длинный код metakey.
И табличка - это и есть суть этот metakey

Собственно - вопросы.
1) Кто нечто подобное делал? Как сложно?
2) Варианты. Кастомный JDBC-драйвер. Насколько это сложно?
3) Что за программные продукты аvatica, calcite. Каковы их возможности? Насколько сложно поддержать их в данной задаче?
Нужно несколько базовых простых SQL-запросов которые использует например тестировщик. Типа посмотреть значение меты по заданному времени.

Типа
Код: sql
1.
select * from bitemporalmeta19824 where key=12345 and '2019-02-07' between start and end;



Таких запросов будет точно ограниченное количество. Не более 10 штук. И мы заранее с тестером
оговорим их требования. Убеждён что сортировок и группировок там не будет. В основном какие-то
простые точечные выборки.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839815
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

2) как-то страдал написанием jdbc. надо было для того чтобы представить json/xml в виде резалтсета для jasper/birt. языком для построения запроса взял груви. https://github.com/char-com-ua/groodbc/wiki
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839823
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry., спасибо. Посмотрю. JDBC-драйвер - это первое о чем я думал. Были попытки написать свой.
Огромное количество заглушек и методов которые нужно реализовать чтобы хоть что-то взлетело.
У меня так к сожалению и не взлетело. После этого я потерял веру в интерфейсы с большим числом
методов. У Connection - их порядка 50. У ResultSet - порядка двухсот. И это самый мимнимум что надо
реализовать еще без учета Statement.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839848
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot maytonПосмотрю. JDBC-драйвер - это первое о чем я думал.[/quot]
- сам не пробовал, но давно приглядываюсь к DataNucleus, может и Вашу NoSQL поддерживает
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839849
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас - Apache Ignite.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839857
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Какого рода запросы?
Стрим можно фильтровать. Это в java аналог Linq в шарпе но послабее чем у них.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839890
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не бизнесовая задача. Внутрення скорее.
Что-то типа автоматизации тестирования.

Дать тестеру Stream. .. Вот тут я сомневаюсь.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39839897
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonУ нас - Apache Ignite.
Apache Ignite With JPA , а дальше JPQL запросом
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840047
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...
Есть аналитическая система на базе NoSQL....
...
Возникла идея - прикрутить к ней какое-то подобие SQL интерфейса
...


Противоречий не замечаете?
Задача попахивает бредом. Хотя, если бюджет выделен, освоить его всегда приятно )))

p.s.
На правах идеи/бреда:
1. можно поискать какие нибудь Open Source JDBC драйвера (например к DBF) и разковырять их, заменив нижний слой на обращение к NoSQL. Но честно говоря, затратить кучу усилий и получить недо-SQL, это жестоко
2. можно написать что нибудь типа PostgreSQL Foreign data wrapper ( https://wiki.postgresql.org/wiki/Foreign_data_wrappers) и юзать нормальный SQL синтаксис. Если же взять что-то типа Oracle, то наверное и стандартные BI-тулзы можно будет спокойно натравливать. Хотя в производительность такого решения (для целей OLAP), мне что-то не верится.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840054
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бюджет пока мой личный. Поэтому все ОК.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840058
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЗадача попахивает бредомсогласен).
Более логично тестерам писать
Stream.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840060
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stream.filter(key-> key.name="abc")....
псевдокод)
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840062
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБюджет пока мой личный. Поэтому все ОК.а как они sql пишут? По памяти?
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840067
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему нормально что тестеры знают SQL но не знают Java.

Или все в топике другого мнения? Тогда я неправ и топик можно закрыть.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840072
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо моему нормально что тестеры знают SQL но не знают Java.

Не очень понятно, что тестеры собираются делать с помощью SQL.

Если тестировать API - то нужно тестировать собственно API, при чем тут SQL, совершенно не опнятно
Если анализировать данные - то тогда нужна полноценная OLAP / BI. Недо-SQL тут конечно в качестве затычки подойдет, но вряд ли с его помощью можно будет реально анализировать хоть какие-то значимые объемы данных.

Посмотрел на https://wiki.postgresql.org/wiki/Foreign_data_wrappers размер Hello World драйвера 300 строк, размер драйвера для CSV файлов - 1225 строк

Вполне приемлимо. Но, нужно понимать, что когда SQL уйдет в full table scan, то может оказаться значительно быстрее, просто данные для анализа перетянуть в "нормальную" БД.

IMHO
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840075
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо моему нормально что тестеры знают SQL но не знают Java.

Или все в топике другого мнения? Тогда я неправ и топик можно закрыть.

Это нормально. Но, возникает несколько вопросов

1) Если у вас уже есть API - то он и должен юзаться, проблемы тестеров это лично их проблемы.
2) Если как вы говорите запросов штук 10 предефайненых - то проще выучить API
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840082
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник2) Если как вы говорите запросов штук 10 предефайненых - то проще выучить API
Да. Я щас колеблюсь между тем чтоб как-то генерализировать все варианты и вынести в API.
Либо сделать SQL-ный фасад. Вобщем тема еще не созрела.

За ссылки на DataNucleus - спасибо. Буду изучать. А это пока можно закрыть.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39840083
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут вроде даже один ко многим нет. Что тогда они делают вместе с SQL?
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39841573
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что делают на SQL, когда парсят СSV файлы? Просто. Для удобства. Кстати смежный топик есть.
Не обязательно искать 3НФ чтобы обосновать что SQL удобен.
...
Рейтинг: 0 / 0
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
    #39841601
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА что делают на SQL, когда парсят СSV файлы? Просто. Для удобства. Кстати смежный топик естьну я не видел таких примеров. И топиков. Тот что видел, там чел просил быстро, а не удобно.
Мне для XML DB интересен XPath. Для ООБД интересна точечная нотация поиска.
Для no sql db интересны средства no sql. Linq например.
Имхо
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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