| 
 | 
| 
 
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?desktop=1&fid=59&tid=2121188]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    38ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    51ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 13ms | 
| total: | 147ms | 

| 0 / 0 | 

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