|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Привет всем. Есть аналитическая система на базе NoSQL. Хранит би-теморальные метадаты. Наподобие. keyvaluestartend Primary key : (key,start,end) Еще ограничение бизнес-уровня. Временные отрезки для каждого одинакового key - не пересекаются. Но могут быть открытыми в плюс-бесконечность. В виде сущности Код: java 1.
Возникла идея - прикрутить к ней какое-то подобие SQL интерфейса чтоб можно было делать выборки с фильтрами. Сущности - это просто value в NoSQL системе. В качестве key там используется некий длинный код metakey. И табличка - это и есть суть этот metakey Собственно - вопросы. 1) Кто нечто подобное делал? Как сложно? 2) Варианты. Кастомный JDBC-драйвер. Насколько это сложно? 3) Что за программные продукты аvatica, calcite. Каковы их возможности? Насколько сложно поддержать их в данной задаче? Нужно несколько базовых простых SQL-запросов которые использует например тестировщик. Типа посмотреть значение меты по заданному времени. Типа Код: sql 1.
Таких запросов будет точно ограниченное количество. Не более 10 штук. И мы заранее с тестером оговорим их требования. Убеждён что сортировок и группировок там не будет. В основном какие-то простые точечные выборки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 23:39 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
mayton, 2) как-то страдал написанием jdbc. надо было для того чтобы представить json/xml в виде резалтсета для jasper/birt. языком для построения запроса взял груви. https://github.com/char-com-ua/groodbc/wiki ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 10:38 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Dmitry., спасибо. Посмотрю. JDBC-драйвер - это первое о чем я думал. Были попытки написать свой. Огромное количество заглушек и методов которые нужно реализовать чтобы хоть что-то взлетело. У меня так к сожалению и не взлетело. После этого я потерял веру в интерфейсы с большим числом методов. У Connection - их порядка 50. У ResultSet - порядка двухсот. И это самый мимнимум что надо реализовать еще без учета Statement. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 11:01 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
[quot maytonПосмотрю. JDBC-драйвер - это первое о чем я думал.[/quot] - сам не пробовал, но давно приглядываюсь к DataNucleus, может и Вашу NoSQL поддерживает ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 11:42 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
У нас - Apache Ignite. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 11:43 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
mayton, Какого рода запросы? Стрим можно фильтровать. Это в java аналог Linq в шарпе но послабее чем у них. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:05 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Это не бизнесовая задача. Внутрення скорее. Что-то типа автоматизации тестирования. Дать тестеру Stream. .. Вот тут я сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:47 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
maytonУ нас - Apache Ignite. Apache Ignite With JPA , а дальше JPQL запросом ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:59 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
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), мне что-то не верится. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:45 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Бюджет пока мой личный. Поэтому все ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:50 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevЗадача попахивает бредомсогласен). Более логично тестерам писать Stream. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:55 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
stream.filter(key-> key.name="abc").... псевдокод) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:57 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
maytonБюджет пока мой личный. Поэтому все ОК.а как они sql пишут? По памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 16:58 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
По моему нормально что тестеры знают SQL но не знают Java. Или все в топике другого мнения? Тогда я неправ и топик можно закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:04 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:13 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
maytonПо моему нормально что тестеры знают SQL но не знают Java. Или все в топике другого мнения? Тогда я неправ и топик можно закрыть. Это нормально. Но, возникает несколько вопросов 1) Если у вас уже есть API - то он и должен юзаться, проблемы тестеров это лично их проблемы. 2) Если как вы говорите запросов штук 10 предефайненых - то проще выучить API ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:14 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
забыл ник2) Если как вы говорите запросов штук 10 предефайненых - то проще выучить API Да. Я щас колеблюсь между тем чтоб как-то генерализировать все варианты и вынести в API. Либо сделать SQL-ный фасад. Вобщем тема еще не созрела. За ссылки на DataNucleus - спасибо. Буду изучать. А это пока можно закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:21 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
Тут вроде даже один ко многим нет. Что тогда они делают вместе с SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 17:22 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
А что делают на SQL, когда парсят СSV файлы? Просто. Для удобства. Кстати смежный топик есть. Не обязательно искать 3НФ чтобы обосновать что SQL удобен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 18:25 |
|
Avatica, calcite и кастомные JDBC-дрова для толстой метадаты
|
|||
---|---|---|---|
#18+
maytonА что делают на SQL, когда парсят СSV файлы? Просто. Для удобства. Кстати смежный топик естьну я не видел таких примеров. И топиков. Тот что видел, там чел просил быстро, а не удобно. Мне для XML DB интересен XPath. Для ООБД интересна точечная нотация поиска. Для no sql db интересны средства no sql. Linq например. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 19:20 |
|
|
start [/forum/topic.php?fid=59&fpage=25&tid=2121188]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 230ms |
total: | 412ms |
0 / 0 |