powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Dinamyc hard coding
88 сообщений из 88, показаны все 4 страниц
Dinamyc hard coding
    #40099240
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Всем!

Наверно, тут будет интересно https://www.youtube.com/watch?v=gemRHJ2cDAQ&t=10817s
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099476
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana,

после слова dinamic на слайде смотреть не стал.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099488
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

в топике всё равно прикольнее написано.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099494
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana,

я может чего недопонял, но не уловил какой-то новизны идеи.
В бытность работы с ДИАМС 3 на СМ1420 (1990-92) некоторые наши программисты делали "динамические отчеты" - запихивали куски кода в глобали, а программа потом в зависимости от данных вытаскивала тот или иной кусок кода, который потом интерпретировался на ходу. И это был не просто какой-то "хранимый кусок отчета", а там прям код конструировался мелкими кусками, по частям.

И вот отлаживать ЭТО был полный звездец, нихрена непонятно.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099504
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, спасибо за указанную ошибку в грамматике. Обязательно исправлю.

kdv
artemana,
И вот отлаживать ЭТО был полный звездец, нихрена непонятно.

Наоборот, это намного легче отлаживать. Об этом говориться после неправильного слова dynamic, и как ты написал, было тобой пропущено. ))

В проекте есть два режима работы, в первом режиме программа динамически генерирует и компилирует код непосредственно в Runtime под каждую пришедшую SQL команду. Это ее основной рабочий режим, в нем при необходимости целесообразно отлаживать только сам процесс кода генерации.

Если же необходимо отладить или проанализировать с точки зрения производительности тот или иной участок сгенерированного кода, то программ запускается в так называемом статическом режиме.
В нем участки кода (файлы на C#) сгенерированные ранее включаются, в программу как обычные.
В этом случае сервер становиться жестким (hard coding program), как бы замирает в своем развитии, и не может воспринимать новых SQL команд, только старые, к которым он создал код находясь в рабочем режиме.

Что может быть проще отладки программы написанной в стиле hard coding?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099507
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
artemana,

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

Может отличие в этом.
Нет никакой интрепритации на ходу. Никакого промежуточного языка между SQL и C# .
Есть SQL команда, под нее создается код (такой же файл cs, как будто его написал руками программист).
В нем реализуется SQL команда, только не с нуля, а отталкиваясь от библиотеки базовых классов.
Этот файл компилируется в dll и исполняется.

Если такая SQL команда приходит повторно, используется ранее созданная dll.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099513
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
artemana,

после слова dinamic на слайде смотреть не стал.

dinamic - это болельщик одесского Динамо
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099526
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

там еще дальше на слайдах - "data leek". "Данные лук-порей"? Я не понял.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099545
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Может отличие в этом.
Нет никакой интрепритации на ходу. Никакого промежуточного языка между SQL и C# .
Есть SQL команда, под нее создается код (такой же файл cs, как будто его написал руками программист).
В нем реализуется SQL команда, только не с нуля, а отталкиваясь от библиотеки базовых классов.
Этот файл компилируется в dll и исполняется.

Если такая SQL команда приходит повторно, используется ранее созданная dll.


Вы изобрели универсальный построитель плана SQL-запроса с прибитием его гвоздями в DLL?

Видос не смотрел, бо мову не розумию.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099550
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak, там на русском (с надписями на неправильном английском))). я думаю поймете. попробуйте.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099698
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
kdv
artemana,
И вот отлаживать ЭТО был полный звездец, нихрена непонятно.
Наоборот, это намного легче отлаживать. Об этом говориться после неправильного слова dynamic, и как ты написал, было тобой пропущено. ))

Что может быть проще отладки программы написанной в стиле hard coding?

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

На рынке уже давно есть как минимум одна система, в которой классы, SQL команды и т.д. компилируются в промежуточный код на встроенном языке этой системы (ObjectScript), который в свою очередь - в P-code (байт-код), а уже этот p-code выполняется виртуальной машиной этой СУБД. Конечно, никто не мешает разработчику написать код сразу на ObjectScript (а скоро и на Python), если возможности/производительность SQL-автокода его не устраивают.
Ещё там есть методы-генераторы, цель которых состоит в генерации другого кода, который и будет в итоге выполняться.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099706
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit

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

Он поставил их рядом, сказав что ничего нового, и соответственно его критика относилась к подходу в целом. И если не смотреть в детали, она может показаться справедливой.
Мой ответ, как мне кажется, просто отвечает на вопрос, почему к нашей конкретной системе этот недостаток не относиться.
А то, что в той системе было сложно, я и не сомневаюсь. ;)
servit

На рынке уже давно есть как минимум одна система, в которой классы, SQL команды и т.д. компилируются

Отлично! Значит мы не одиноки. Как называется система? Какие прикладные продукты на ней сделаны?
Как Вы лично оцениваете такой подход в принципе?
Мне это очень интересно!
servit

в промежуточный код на встроенном языке этой системы (ObjectScript), который в свою очередь - в P-code (байт-код), а уже этот p-code выполняется виртуальной машиной этой СУБД.

Наше отличие заключается в том, что нет промежуточного языка, SQL сразу превращается в код на C#. То есть в язык на котором и написана сама система. Этот промежуточный язык нам не нужен!
C# и VS со всеми своими возможностями, покрывают все потребности(производительность и наглядность кода, удобство отладки)
я не языковед, и тут не место для священных войн по языкам и средам, но лично оцениваю их очень высоко.
servit

Конечно, никто не мешает разработчику написать код сразу на ObjectScript (а скоро и на Python), если возможности/производительность SQL-автокода его не устраивают.
Ещё там есть методы-генераторы, цель которых состоит в генерации другого кода, который и будет в итоге выполняться.

У нас тоже есть аналогичные механизмы.
То что мы не первые, с одной стороны огорчает, а с другой стороны радует, так указывает на то, что мы не сделали нечто с квадратными колесами, а вполне себе с овальными ;)
Но для нашей конечной задачи (BI-система), это штука подходит идеально.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099718
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наше отличие заключается в том...,

servit, я наверно не правильно понял Вас, меня смутило слово "встроенный".
Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет.
Разница только в языке.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099719
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Как называется система? Какие прикладные продукты на ней сделаны?
InterSystems IRIS Data Platform, потомок Ensemble, Caché и вообще систем MUMPS.
Много каких, в частности в области здравоохранения.
artemana
Наше отличие заключается в том, что нет промежуточного языка, SQL сразу превращается в код на C#. То есть в язык на котором и написана сама система. Этот промежуточный язык нам не нужен!
Считайте ObjectScript аналогом Вашего C#. Промежуточным он назван лишь потому, что служит звеном между SQL и байт-кодом и в целях отладки отдельных элементов SQL-запроса.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099720
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет.
Та система написана на С/С++. Предположу, что С# - тоже.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099723
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Разница только в языке.

В сравнении производительности программ, написанных на С# и ObjectScript.
Есть, как мне кажеться, непреодолимый барьер - байт код, исполняемый на виртуальной машине, проиграет нативному коду.
Для big data разница может быть заметной.

И еще, в ObjectScript есть многопоточность? Нам она позволяет разделить отдельные фазы в исполнения
одной команды на несколько потоков, тем самым добиться ускорении ее выполнения в разы.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099726
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое ощущение что он объяснял схему разделения секрета Шамира школьникам 1-го класса.

Кто вообще аудитория? Кто вообще пойдет на лекции с такой агендой?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099728
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это - вообще фейерия. Я позволю
себе процитировать.

...программа донаписывается...

...и программа от этого только выиграет...

...например доступ к значению поля всегда
сопряжен с вычислением его адреса исходя
из адреса записи смещения поля относительно
предшествующих полей с полседующим жостким
приведением содержимого памяти по этому адресу
к нужному типу данных...

...при НАШЕМ подходе :)....


Но при чем здесь черт возьми базы данных и безопасность?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099729
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit
artemana
Если та система написана на ObjectScript и SQL команду она превращает в программу ObjectScript, то отличия нет.
Та система написана на С/С++. Предположу, что С# - тоже.

На чем написан C# не так важно.
Значимым в данной вопросе является то, что мы превращаем SQL команду в программу на родном языке системы,
а там, в программу на суррогатном. А он априори бедней. Или вообще представляет собой ад, как в воспоминаниях kdv.

Этому, как мне кажется, есть простое историческое объяснение. Раньше не было выхода.
Средства кода генерации во время исполнения появились недавно. В С# это рослин, что в С++ не знаю, наверно что то тоже есть, но появилось скорее всего недавно. В тоже время в языках со слабой типизацией, JavaScript, ObjectScript они были намного раньше, если не изначально.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099730
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
В сравнении производительности программ, написанных на С# и ObjectScript.
Есть, как мне кажеться, непреодолимый барьер - байт код, исполняемый на виртуальной машине, проиграет нативному коду.
Для big data разница может быть заметной.
Если речь про доступ к низкоуровневым структурам, в которых лежат данные, то нет - байт код здесь не проигрывает. По крайней мере в IRIS.
Можно, конечно, код вместо ObjectScript/Python написать на С/С++ или вообще на ассемблере, но вряд ли скорость существенно возрастёт.
artemana
И еще, в ObjectScript есть многопоточность?
:)
Конечно есть.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099734
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Но при чем здесь черт возьми базы данных и безо?

1. Что Вы означает "безо"?
2. В ролике, в том месте куда дана ссылка, рассматривается отличительный от классического подход к созданию движка базы данных. Тем специалистам, которые представляют как устроен движок РСУБД, управляемой посредством SQL, вроде все должно быть понятно, черт возьми! ;)
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099740
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Значимым в данной вопросе является то, что мы превращаем SQL команду в программу на родном языке системы,
а там, в программу на суррогатном. А он априори бедней. Или вообще представляет собой ад, как в воспоминаниях kdv.
Для процессора все языки суррогатны, кроме машинных кодов.
Дело не в языке, а в алгоритмах, оптимизации библиотек и драйверов под ОС и железо, и кривизне рук тех, кто всё это использует.
Например, здесь Python и Fortran "почему-то" уделали C++.
Недавно на нашем форуме тоже попытались сравнить скорости чтения CSV-файла на Python и ObjectScript. Результат плачевный. Для автора плачевный..
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099744
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit, конечно, все нужно сравнивать на реальных экспериментах, но у Вас же не BI, а у меня не медицина.
Плюс надо помнить, что у нас не совсем SQL, а язык только принципиально на него похожий.
Сравнить на одинаковом примере не получиться. Жаль, но еще не вечер. Может судя заглянут люди из раздела OLAP и DWH и предложат посоревноваться.

Вы не сказали свое отношение к такому подходу в принципе. Какая Ваше оценка?
Мы сразу приступили к жесткой внутривидовой конкуренции (детали внутри одной концепции), в то время как некоторые вообще не поняли о чем речь! :)
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099750
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
servit, конечно, все нужно сравнивать на реальных экспериментах, но у Вас же не BI, а у меня не медицина.
Если открыть страницу продукта , то можно найти и про BI, и про машинное обучение и про многое другое.
artemana
Может судя заглянут люди из раздела OLAP и DWH и предложат посоревноваться.
Здесь уже было много соревнований всего со всем, которые ни к чему хорошему не привели, не приводят и вряд ли приведут. А технически грамотные сравнения весьма затратны.
artemana
Вы не сказали свое отношение к такому подходу в принципе. Какая Ваше оценка?
Моё отношение простое - это уже было и есть. Оценка положительная.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099756
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit
Здесь уже было много соревнований всего со всем, которые ни к чему хорошему не привели, не приводят и вряд ли приведут. ...

Это пять!
servit
Моё отношение простое - это уже было и есть. Оценка положительная.

Спасибо, если что, буду на это ссылаться.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099762
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
mayton

Но при чем здесь черт возьми базы данных и безо?

1. Что Вы означает "безо"?
2. В ролике, в том месте куда дана ссылка, рассматривается отличительный от классического подход к созданию движка базы данных. Тем специалистам, которые представляют как устроен движок РСУБД, управляемой посредством SQL, вроде все должно быть понятно, черт возьми! ;)

Но ты согласен что это попытка объяснять доступ к сырой памяти была полной фейерической
хренью. С таким-же успехом без контекста можно было говорить про черные дыры и квазары.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099769
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit

Например, здесь Python и Fortran "почему-то" уделали C++.

Почитал.
Смешно!
Производительность C++ просто "утопили", заставив читать большой файл отдельными операциями по 8 байт (или сколько там float в нем занимает)
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099770
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Но ты согласен что это попытка объяснять доступ к сырой памяти была полной фейерической
хренью. С таким-же успехом без контекста можно было говорить про черные дыры и квазары.

Какая еще сырая память, Вы о чем вообще!? Вы программист?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099779
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaВ ролике, в том месте куда дана ссылка, рассматривается отличительный от
классического подход к созданию *движка базы данных.*

А в чём он "отличный"-то? Embedded SQL, то бишь препроцессоры с SQL в нативные
языки появились одновременно с самим SQL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099780
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

А в чём он "отличный"-то? Embedded SQL, то бишь препроцессоры с SQL в нативные
языки появились одновременно с самим SQL.

Совершать новые открытия очень помогает незнание старых.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099781
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
mayton

Но ты согласен что это попытка объяснять доступ к сырой памяти была полной фейерической
хренью. С таким-же успехом без контекста можно было говорить про черные дыры и квазары.

Какая еще сырая память, Вы о чем вообще!? Вы программист?

Извини если я тебя обидел. Я видел много конференций. И хочу отметить что форма подачи
материала напоминает хаос. Так делать нельзя. Должна быть последовательность. Я конечно
понимаю что автор ограничен регламентом в несколько минут. Но лучше ничего не говорить
чем выдавать такую тиарду которую я цитировал. Это - неструктуность изложения.

Если ты продвиаешь его идеи - то я тебя пойму.

Но меня интересует мнение других мемберов топика. Поняли ли они зачем было это
пояснение?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099783
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

А в чём он "отличный"-то? Embedded SQL, то бишь препроцессоры с SQL в нативные
языки появились одновременно с самим SQL.

я нигде не употреблял слова "изобрел", "новое", "революция' и тому подобное.
Говорил что мы сделали вот так, и это отличается от того, как делают в классике.
Возьмем 5 первых In memory database, они будут устроены не так как наша.

Если есть те, кто делают похоже ,и они были раньше, я буду только рад.
Значит мы не одни и схема жизнеспособна.

В связи с этим, озвучь, пожалуйста, конкретно.
Какие СУБД (In memory или дисковые) работают с использованием этого принципа.?
То есть превращают SQL в нативные язык, с последующей компиляций и исполнением в эффективном машинном коде.
Мне это нужно.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099788
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Dimitry Sibiryakov

А в чём он "отличный"-то? Embedded SQL, то бишь препроцессоры с SQL в нативные
языки появились одновременно с самим SQL.

Совершать новые открытия очень помогает незнание старых.

Вы видите то, чего нет. я не говорил об открытии.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099792
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaГоворил что мы сделали вот так, и это отличается от того, как делают в классике.

Наоборот, ESQL это классика, от которой все уже давно отказались. Из известных
мне СУБД полуживые препроцессоры есть у Oracle и IB/FB. Вики добавляет ещё
пачку: https://en.wikipedia.org/wiki/Embedded_SQL
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

То есть превращают SQL в нативные язык, с последующей компиляций и исполнением в эффективном машинном коде.
Мне это нужно.

А как-же они это могут сделать не зная профиль оборудования и статистику таблиц?

Суть SQL машины как раз в том что она динамически подстраивается под изменяющиеся
условия. А вы что? Сделали хеш-джойн хардкодом? А если данные поменяются?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099796
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

В связи с этим, озвучь, пожалуйста, конкретно.
Какие СУБД (In memory или дисковые) работают с использованием этого принципа.?
То есть превращают SQL в нативные язык, с последующей компиляций и исполнением в эффективном машинном коде.
Мне это нужно.

да любая. вы базы совсем не видели? SQL это строка, она парсится, оптимизатор на базе статистики строит план. это эффективный машинный код. для сторед процедур у оракла, к примеру, тоже есть понятие native compilation, сторед процедура компилируется в нативный машинный код.

я послушал минут 10, там какая-то охинея. с чего вдруг интерпритатор .net стал эффективным. с чего вдруг скопиленный класс .net станет хоть в чем то быстрее работать с памятью. что за ерунда про указатели ? кто-то считает что внизу .net без указателей обходиться ?

и почитайте про Spark. там оптимизатор catalyst составляет план для экзекьютеров, компилирует джарники и рассылает джарники на экзекьютеры. экзекьютеры, зачастую на других узлах кластера в параллель эти джарники выполняют. со стороны звучит это то что вы пытаетесь воспроизвести.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099799
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Если ты продвиаешь его идеи - то я тебя пойму.

Дык, это я есть. ;)
Вы тоже извините меня, просто все программисты, кому я показывал этот материал, оценивали его по разному.
В качестве критики, оспаривали ценность озвученных преимуществ, или указывали на то, что подход не нов.
Разные были оценки, но ни у кого я не встречал, такого глубокого не понимания материала и претензий к его подаче.
Это ваше право, но я реально не понимаю, что Вам так критично не зашло.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099803
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
mayton

Если ты продвиаешь его идеи - то я тебя пойму.

Дык, это я есть. ;)
Вы тоже извините меня, просто все программисты, кому я показывал этот материал, оценивали его по разному.
В качестве критики, оспаривали ценность озвученных преимуществ, или указывали на то, что подход не нов.
Разные были оценки, но ни у кого я не встречал, такого глубокого не понимания материала и претензий к его подаче.
Это ваше право, но я реально не понимаю, что Вам так критично не зашло.

Вот чаще приходи сюда и советуйся. Сорцы показывай. Бенчмарки.

Самая правильная правда ... она всегда идет от критики. Не слушай своих коллег по проекту.
Они тебе нальют в уши сахарный сироп. Коньюнктура.

Нас - слушай.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099808
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Суть SQL машины как раз в том что она динамически подстраивается под изменяющиеся
условия. А вы что? Сделали хеш-джойн хардкодом? А если данные поменяются?

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

Как вы думаете, если в СУБД поступает одна и та же команда select много раз, план для нее строиться каждый раз?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099813
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1

да любая. вы базы совсем не видели? SQL это строка, она парсится, оптимизатор на базе статистики строит план. это эффективный машинный код. для сторед процедур у оракла, к примеру, тоже есть понятие native compilation, сторед процедура компилируется в нативный машинный код.

Вот в этом и отличие, Вы просто не хотите его увидит, а хотите оскорбить, спрашивая видел ли я базы данных.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099817
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaУ нас нет джойнов, я вообще то говорил, что наш язык это не совсем SQL.

А зря. Был бы SQL - было бы проще искать специалистов по использованию. А так
это некий препроцессор с некоего псевдоязыка для FvMas. Ну или просто ещё один
MUMPS.

artemanaКак вы думаете, если в СУБД поступает одна и та же команда select
много раз, план для нее строиться каждый раз?
У нормальных людей одна и та же команда несколько раз не поступает. В API
функции препарирования запроса и его выполнения разделены. И таки да, некоторые
СУБД кэшируют планы именно на такой случай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099819
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
H5N1

да любая. вы базы совсем не видели? SQL это строка, она парсится, оптимизатор на базе статистики строит план. это эффективный машинный код. для сторед процедур у оракла, к примеру, тоже есть понятие native compilation, сторед процедура компилируется в нативный машинный код.

Вот в этом и отличие, Вы просто не хотите его увидит, а хотите оскорбить, спрашивая видел ли я базы данных.

ну да, а чего вы ожидали приходя сюда и расписываясь, что не понимаете что такое интерпритатор, накладные расходы .net машины, ее расходы на управление памятью и без даже близкого представления как работает cost based optimizer, что он генерит и когда инвалидирует планы и статистики.
да черт, я не верю что вы код писали, если заподозрили .net в эффективной работой с памятью
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099824
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

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

Это очень печально конечно. Это очень ограничивает ваши разработки. А как у вас с транзакциями и консистентностью?
Это обычно - главный вопрос. Или последний патрон который добивает горе-создателей. Обычно они заканчивают
на атомарности и говорят - здесь всё. Мы закончили.

Как вы думаете, если в СУБД поступает одна и та же команда select много раз, план для нее строиться каждый раз?
Стоп-стоп. Не хитри.

Ты пришел в этот форум с позиции доказующего. И задавать вопросы - это наша задача. Это ты должен
собрать сведенья и принести их сюда о том как работают хотябы TOP-3 DBMS, как строит планы и какие бывают
виды гистограмм на колонках. И как можно быстро сделать comparison двух планов не выполняя их.

І на сам кінець... Як каже мій колега Петро - ТС має працювати більше усіх.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099826
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
Ваши познания по работе в дотнете (с памятью и про интерпретацию)наверно устарели.
Или вы не умеете их готовить. (С)
В любом случае Вы можете представить реализацию обсуждаемого подхода, если Вы все таки поняли в чем он состоит, для любого языка, чья производительность, лично у Вас, не вызывает сомнения.
Вот раньше здесь говорили, что на ObjectiveScrip все летает.
Меня ;t в C# все более чем устраивает!
Ваш выбор за Вами.

И главное!
Вы с одной стороны приводите схему спарк, которая чем то похоже, с другой стороны говорите что все фигня. Вы уж определитесь.
И да, мы то же планируем делать распределенную обработку сверх больших данных, примерно так, как Вы описали работает в спарк.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099836
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А как у вас с транзакциями и консистентностью?
Это обычно - главный вопрос. Или последний патрон который добивает горе-создателей. Обычно они заканчивают
на атомарности и говорят - здесь всё. Мы закончили.

Это OLAP система. Обеспечивает консистентность уровня repeatableRead для свои пользователей. То есть во время формирования отчета, они видят либо все новые данные, уже залитые экстрактором, либо ни видят никаких изменений, если процесс извлечения не закончен (находиться середине). Разумеется сам экстрактор обращается к исходной базе в режиме repeatableRead, если это возможно, чтобы тоже выполнить извлечение согласованных данных.
mayton

Ты пришел в этот форум с позиции доказующего.

Нет, мне интересно было услышать мнения. Обоснованную критику. Узнать об аналогах.
Отчасти, благодаря в частности servit, я эту задачу решил.
Все остальное, такая ерунда, особено ваши первые посты, что не приведи господи.

mayton

И задавать вопросы - это наша задача.

Это ваше право
mayton
Это ты должен

я ничего не должен. Будут конструктив (про транзакции Ваш первый нормальный вопрос),
постараюсь в меру сил ответить, ну а если поток сознания, то извините.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099843
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
H5N1,
Ваши познания по работе в дотнете (с памятью и про интерпретацию)наверно устарели.
Или вы не умеете их готовить. (С)
В любом случае Вы можете представить реализацию обсуждаемого подхода, если Вы все таки поняли в чем он состоит, для любого языка, чья производительность, лично у Вас, не вызывает сомнения.
Вот раньше здесь говорили, что на ObjectiveScrip все летает.
Меня ;t в C# все более чем устраивает!
Ваш выбор за Вами.

мой выбор поиздеваться над свиду взрослым дятькой, несущем откровенно нубские вбросы. .net (как впрочем и java) интерпретатор с гарбадж коллектором, программы там в принципе не способны работать напрямую с памятью. вообще никак. это не устаревшая информация, это факт, который известен любому джунеору.
вы понимаете на сколько порядков это медленее, чем то как это делает оракл, написанный на голом C и обращающийся прямиком в shared memory ?

artemana

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

спарк выигрывает исключительно за счет чудовищной параллельности. сам экзекьютор ресурсы использует очень не эффективно, во многом потому как все происходит в jvm. но это же его преимущество в том плане, что на java можно написать очень сложную систему и не напортачить с указателями, мемори ликами и прочим. на языках, без GC, которые эффективно работают с памятью, хреновину уровня спарк попросту не написать.
это первое, второе - спарк признает, что джава тормоз в работе с памятью и уже года полтора продвигает off-heap кеш, куда складываются данные датафреймов и где не властен GC.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099846
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

artemanaКак вы думаете, если в СУБД поступает одна и та же команда select
много раз, план для нее строиться каждый раз?

У нормальных людей одна и та же команда несколько раз не поступает. В API
функции препарирования запроса и его выполнения разделены. И таки да, некоторые
СУБД кэшируют планы именно на такой случай.

Прелестно. Вот, и обсудите с mayton "А если данные поменяются? и планы нужно перестроит"
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099850
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Это OLAP система. Обеспечивает консистентность уровня repeatableRead для свои пользователей. То есть во время формирования отчета, они видят либо все новые данные, уже залитые экстрактором, либо ни видят никаких изменений, если процесс извлечения не закончен (находиться середине). Разумеется сам экстрактор обращается к исходной базе в режиме repeatableRead, если это возможно, чтобы тоже выполнить извлечение согласованных данных.

Вот с этого надо было начинать. Мы дескыть строим ОЛАП на дотнете.

Вот класс системы. Вот бенчмарки. Вот сравнение с аналогами.
Последнее важно. Т.к. заинтересованные лица всё равно у вас
будут требовать сравнений с аналогами.

По классам - посмотрите https://db-engines.com/en/ranking

Каждая DBMS тегирована. Лежит на своей полочке. Описаны ее потребительские
характеристики.

А то что вы говорите про SQL - это тоже такое себе. Вторично. Мой опыт показывает
что ущербный SQL обычно никому не нужен если рядом есть альтернативный API.
Сильная сторона SQL - joins и если их нету то зачем тратить время?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099852
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaВот, и обсудите с mayton "А если данные поменяются? и планы нужно перестроит"

Да нам-то что обсуждать, всё уже обсуждено за годы. Это Вам стоит обратить
внимание на намёк Ё относительно момента инвалидации планов и статистик.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099861
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1

программы там в принципе не способны работать напрямую с памятью. вообще никак. это не устаревшая информация, это факт,

Это факт только в Вашем сознании. В реальном мире это не факт, а неправда. С# обеспечивает такую возможность, и при необходимости мы могли бы этим пользоваться, но нам, как правило, это не нужно. Я вам уже сказал, не нравиться С# возьмите свой императивный язык, если конечно, что то, кроме как раздавать ярлыки, умеете.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099867
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Вот с этого надо было начинать. Мы дескыть строим ОЛАП на дотнете.

Вот как раз с этого доклад и начинался, надо же, если не понятно о чем речь, либо посмотреть доклад с начала, либо спросить нормально.
Я вот какой вопрос хотел бы для себя прояснить, есть общепризнанные, независимые бенчмарки для BI или OLAP систем?
Где фигурировали бы такие системы как qlickView, Microsoft Power BI и другие лидеры рынка.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099873
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

artemanaВот, и обсудите с mayton "А если данные поменяются? и планы нужно перестроит"

Да нам-то что обсуждать, всё уже обсуждено за годы. Это Вам стоит обратить
внимание на намёк Ё относительно момента инвалидации планов и статистик.

Это не Ё, но maytom обратил. В Olap системах, нет такой потребности. И джойнов, таких как в SQL, там нет.
Они построены по схеме звезда. Таблицы фактов в центре, лепестки - таблицы координат.
Таблицы фактов - очень большие, чье физика хранения предполагает основной метод первичного чтения - natural. С быстрым отсечением записей не прошедших фильтр. Здесь и помогает многопоточность и разделение на кластеры.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099880
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaТаблицы фактов - очень большие, чье физика хранения предполагает основной метод
первичного чтения - natural.

"Эва оно как, Михалыч..." (с)
А я-то наивно полагал, что кубы осуществляют как раз обратную операцию: свёртку
больших первичных таблиц с предпросчётом агрегатов...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099883
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.... момента инвалидации планов и статистик
В Olap системах, нет такой потребности.
Но если бы такая потребность была, сам подход отнюдь не запрещает, сделать то, что возможно стоит делать в этой ситуации.
Например при поступлении SQL команды, понять, что ее статистика устарела, создать по нее новых исполняемый код и выполнить его, вместо старого. Старый либо в утиль, либо в кеш.
В этом вопросе, обсуждаемый подход не дает ничего нового, но и не ограничивает ни в чем.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099888
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaНапример при поступлении SQL команды, понять, что ее статистика устарела,
создать по нее новых исполняемый код и выполнить его, вместо старого.

Вот только у вас компиляция статическая, SQL команды "поступают" при написании
кода. Нет, я, конечно, видел забавные системы, переписывающие и
перекомпилирующие свой собственный ход на ходу, но они уже за пределами добра и зла.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099889
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

"Эва оно как, Михалыч..." (с)
А я-то наивно полагал, что кубы осуществляют как раз обратную операцию: свёртку
больших первичных таблиц с предпросчётом агрегатов...

Прикинь, в том и дело, что за счет in memeory, такие системы как qlickView говорят открытым текстом, "нафиг этот предпросчёт агрегатов" .

Мы так быстро считаем, что то, что вы загрузите в самом детальном, не агрегированном виде, мы посчитаем на лету. И очень быстро.
такое же я слышал и от яндекс аналитик. Ну и мы типа по этому пути идем. Ведь предпросчет агрегатов сужает возможности детализации анализа.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099890
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А я-то наивно полагал, что кубы осуществляют как раз обратную операцию: свёртку
больших первичных таблиц с предпросчётом агрегатов...

Люди, которые не умеют пользоваться SQL, пишут для этого гигантские процедурные реализации с соответствующей скоростью работы.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099894
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Dimitry Sibiryakov

"Эва оно как, Михалыч..." (с)
А я-то наивно полагал, что кубы осуществляют как раз обратную операцию: свёртку
больших первичных таблиц с предпросчётом агрегатов...

Прикинь, в том и дело, что за счет in memeory, такие системы как qlickView говорят открытым текстом, "нафиг этот предпросчёт агрегатов" .

Мы так быстро считаем, что то, что вы загрузите в самом детальном, не агрегированном виде, мы посчитаем на лету. И очень быстро.
такое же я слышал и от яндекс аналитик. Ну и мы типа по этому пути идем. Ведь предпросчет агрегатов сужает возможности детализации анализа.

А какого объёма у вас сейчас хранилище?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099899
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Вот только у вас компиляция статическая, SQL команды "поступают" при написании
кода.

Не ну это ерунда, такого нет!

Вот как работает система в основном режиме.
1. Работает программа (слушает порт)
2. Поступает SQL-команда
3. Программа проверяет есть ли в ее кеше код (dll) под такую команду.
4. Если есть, этот код исполняется.
5. Если нет, пишится код (файл на C#), компилируется в dll, помещается в кеш и исполняется.


Изначально, сразу после старта программы, кеш пустой, никакой статики.

Если вернуться к вопросу инвалидации статистики, то
Никто не мешает после шага 3 проверить и актуальность статистики, и создать новый код, ели она устрела.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099903
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А какого объёма у вас сейчас хранилище?

По самому крупному проекту.
В самой большой таблице фактов - 60 млн записей. Средний объем 15 млн.
Всего таблиц фактов 20, справочников примерно столько же.
Объем всей базы в памяти 35Гб.
Запас есть, пользователь доволен. но миллиард наверно не потянем. По крайне мере пока не разделим между нодами
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099906
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
mayton

А какого объёма у вас сейчас хранилище?

По самому крупному проекту.
В самой большой таблице фактов - 60 млн записей. Средний объем 15 млн.
Всего таблиц фактов 20, справочников примерно столько же.
Объем всей базы в памяти 35Гб.
Запас есть, пользователь доволен. но миллиард наверно не потянем. По крайне мере пока не разделим между нодами

И что все 35 Гб прогружаете в память .Net машины?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099914
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
В самой большой таблице фактов - 60 млн записей.

С этого момента можно начинать рыдать. Когда я в начале двухтысячных занимался хранилищами, потратил некоторое время на установление оптимального для Оракла размера партиции для таблиц фактов. Выяснил, что оптимум (для железа того времени) лежал в диапазоне 20-50 млн. записей (в зависимости от того, насколько широкая запись). А 60 млн. записей... блин... этого не хватит для информации о счетах за ЖКХ Москвы за один месяц. И вы выясняете, как лучше крутить такие копейки....
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099924
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то у меня в голосе все равно паззл не складывается. OLAP системы строят свои кубики 1 раз.
Хоть по In-Memory хоть по диску. И после того как кубик построен ему уже и БД не нужна.

Системы которые In-Memory и аналитика - хранят таблички развернуте набок. Как массивы примитивов.
int/float/string. И именно за счет этого достигают молниеносного анализа. Как пишут в рекламах. Но у них
- другие ограничения. Индексы не строятся обычно. Там полосочный партишенинг. Как паркет на полу. А.... да. С языка снял.
Точно. Parquet. Система такая есть. Тоесть для них (колончатых) есть рекомендованные запросы. И есть неудобные.
Которые будут медленно работать. Типа select *. Какая к чорту звездочка? Когда колонок 100500. Изволь
выбрать выборку колонок. Короче свои бока.

А у автора что? Row-oriented? Column-oriented?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099958
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

И что все 35 Гб прогружаете в память .Net машины?

Да, и все отлично работает. Я уверен что туда можно загрузить и больше в 10 раз. Никаких проблем, просто из роста объема нет.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099960
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
artemana
В самой большой таблице фактов - 60 млн записей.

С этого момента можно начинать рыдать. Когда я в начале двухтысячных занимался хранилищами, потратил некоторое время на установление оптимального для Оракла размера партиции для таблиц фактов. Выяснил, что оптимум (для железа того времени) лежал в диапазоне 20-50 млн. записей (в зависимости от того, насколько широкая запись). А 60 млн. записей... блин... этого не хватит для информации о счетах за ЖКХ Москвы за один месяц. И вы выясняете, как лучше крутить такие копейки....

Можно, начинайте рыдать. Но лучше, если можете, укажите на какие то тесты, позволяющие сравнивать такие системы по производительности между собой. Померяем, если это возможно. А то тут всем известно, что тут каждый второй разработчик делал базы на миллиард записей и все считалось за 1 секунду. :)
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099966
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Но лучше, если можете, укажите на какие то тесты, позволяющие сравнивать такие системы по производительности между собой.

Да какие нафиг тесты. Вы хотя бы для начала закачайте более-менее вменяемый объём данных, потом добейтесь с ним какого-нибудь результата. У меня в OLTP в табличке клиентов чуть больше 150M записей после очистки - а вы рассказываете про 60M в хранилище как о великом достижении.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099967
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
.net (как впрочем и java) интерпретатор с гарбадж коллектором, программы там в принципе не способны работать напрямую с памятью. вообще никак. это не устаревшая информация
Это именно, что "устаревшая информация".
Не интересуюсь дотнетом, но в ява уже есть и F(oreign)M(emory)A(PI) и F(oreign)F(unction and)M(emory) API. Да, пока в виде инкубатора и, нет - его точно доделают и никуда не выкинут.

P.S.
Освежайте, хоть иногда, знания "времён очаковских и покоренья Крыма".
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099968
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
По самому крупному проекту.
В самой большой таблице фактов - 60 млн записей. Средний объем 15 млн.
Всего таблиц фактов 20, справочников примерно столько же.
Объем всей базы в памяти 35Гб.
Уже смешно.но миллиард наверно не потянемЗерно критичного отношения есть - уже хорошо. Редкость, по нынешним временам.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099975
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А у автора что? Row-oriented? Column-oriented?


В данном топике это не имеет значения. Здесь обсуждается принцип реализации обработки данных. Они могут быть в структурах Row-oriented или в Column-oriented или еще в чем то комбинированном или даже непохожем ни на то и ни другое. Неважно.

Есть два подхода к написанию движка выбирающего эти данные. Классический и то, что использовали мы. Названия условны, ключевое отличие второго в том, что SQL команда транслируется в программу на неком языке, эта программ потом компиллируется и выполняется. Как выяснилось этот подход не нов.

Здесь назвали две системы, умеющих работать по такому принципу. Одна из них - всемогущий оракл, который из SQL процедуры делает машинный код. Мол трепищите, порвет всех! И это очень отличительный момент. Возможно такой прямой переход к машинным кодам более эффективен, хотя это под вопросом, но он точно сложней в обслуживание. Потому что если у Вас возникает необходимость отладки, то разобраться почему в данных условиях конкретная SQL процедура работает так и выдает именно такой результат, Вам будет непросто. Вы будете вынуждены отлаживать программу работающую в машинном коде. Ничего другого то нет.
Хотя здесь нет специалистов, писавших оракл изнутри, и подтвердить это некому. Но Вы можете хотя бы попытаться это мыслено представит?

С этой позиции вариант который привнес servit мягче, потому что там, в качестве промежуточного, используется язык более высокого уровня, и трассировка программы, реализующей SQL, на нем значительно легче. На мой взгляд, преимуществом нашего подхода, является именно использование C# и как основного языка проекта и как того языка, на котором, если что, можно разобраться в подробностях выполнения команды. Один язык вместо двух, плюс я считаю, что в производительности программ на нем написанных, он уступил только с и с++. И то, надо посмотреть в каких моментах. А остальных уделает. Об удобстве и говорить нечего.

Ирония заключается в том, что и обсуждение свойств языка, это тоже офтопик. При желание можно взять другой язык. Подход с использованием промежуточного языка все равно будет отличаться от классического. Вопрос нужно ли это делать и для каких СУБД? Вот что хотелось бы понять. Вместо этого идет поток критики и насмешек направленный в принципе против конкретной реализации, хотя никто из этих "великих гуру" и в глаза не видел системы. Печальное зрелище....
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099976
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
- а вы рассказываете про 60M в хранилище как о великом достижении.

Если я и употребил слово "великий", то только по отношению к Вам.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099982
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
mayton

А у автора что? Row-oriented? Column-oriented?


В данном топике это не имеет значения. Здесь обсуждается принцип реализации обработки данных. Они могут быть в структурах Row-oriented или в Column-oriented или еще в чем то комбинированном или даже непохожем ни на то и ни другое. Неважно.

Подожди-подожди. Это важно. Это - тоже класс системы. И это тоже определяет на какие
query будет ориентирована система.

Ты как знающий эту систему можешь сказать ЧТО лежит в этих 35 гигабайтах?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099985
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подожди-подожди. Это важно. Это - тоже класс системы. И это тоже определяет на какие
query будет ориентирована система.
Не, конечно для оценки системы в целом это важно! Но в этом топике, я предлагаю ничего кроме способа обработки данных не обсуждать. И без того трудно удержаться в конструктиве.
Ты как знающий эту систему можешь сказать ЧТО лежит в этих 35 гигабайтах?

Конечно могу. Но если Вы действительно хотите разобраться в том, какие там структуры для хранения используются, нужно создавать отдельный топик. Там достаточно необычная система. Она в принципе больше похожа под Row-oriented, но там есть моменты, позволяющие хранить данные более компактно и более быстро проводить фильтрацию при выборке.
Но повторюсь, все это имеет мало отношение к тому, что мне хотелось бы обсудить в данной теме.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099990
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Здесь назвали две системы, умеющих работать по такому принципу. Одна из них - всемогущий оракл, который из SQL процедуры делает машинный код. Мол трепищите, порвет всех! И это очень отличительный момент. Возможно такой прямой переход к машинным кодам более эффективен, хотя это под вопросом, но он точно сложней в обслуживание. Потому что если у Вас возникает необходимость отладки, то разобраться почему в данных условиях конкретная SQL процедура работает так и выдает именно такой результат, Вам будет непросто. Вы будете вынуждены отлаживать программу работающую в машинном коде. Ничего другого то нет.
Хотя здесь нет специалистов, писавших оракл изнутри, и подтвердить это некому.
Я работал с ораклом снаружи. Процитированный выше текст я даже понять не могу. Что такое "SQL процедура"? В оракле есть "PL/SQL процедуры" и "SQL запросы". Вы что имеете в виду? Давайте вы сначала перепишете текст с использованием общеупотребительных терминов. Что значит "в данных условиях конкретная SQL процедура работает так и выдает именно такой результат"? У меня лично и "PL/SQL процедуры", и "SQL запросы" всегда выдают одинаковый результат - тот, который нужен. Отладка PL/SQL ничем не отличается от отладки на любом другом языке. Никакие машинные коды в оракле отлаживать не нужно.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099991
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич, человек не читатель, он писатель. Если он узнает, как работают существующие системы, ему будет гораздо труднее гордиться своими выдающимися творениями. Знания - это такая вещь, которая мешает полёту фантазии. Например, хоть чуть-чуть разобравшись, он бы уже не смог найти преимуществ своего решения перед тем же Ораклом, а без них - смотрите, как уверенно придумывает.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099997
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич
Я работал с ораклом снаружи. Процитированный выше текст я даже понять не могу. Что такое "SQL процедура"? В оракле есть "PL/SQL процедуры" и "SQL запросы". Вы что имеете в виду? Давайте вы сначала перепишете текст с использованием общеупотребительных терминов. Что значит "в данных условиях конкретная SQL процедура работает так и выдает именно такой результат"? У меня лично и "PL/SQL процедуры", и "SQL запросы" всегда выдают одинаковый результат - тот, который нужен. Отладка PL/SQL ничем не отличается от отладки на любом другом языке. Никакие машинные коды в оракле отлаживать не нужно.

О терминах. Термин SQL покрывает такие термины как DDL и PL SQL. Все эти языки относятся к семейству SQL и являются его расширением. Поэтому термин SQL - процедура, который я использовал, в отношение Stored prоcedure, в оригинале "сторед", я считаю приемлемым. Но если Вам удобно, давайте зафиксируем, что речь идет о "PL/SQL процедуре". Такие процедуры есть в оракле, есть в MS SQL, есть в Firebird и других. Синтаксис разный, но это не принципиально.

Теперь, как мне кажется, почему вы меня не поняли. Я имел ввиду не ту отладку. Естественно, когда конечный пользователь работает с ораклом, все так и происходит как Вы написали. 100% процентов.

Я имел виду трассировку, которую выполняет программист ядра оракла. Например поддерживая новую языковую конструкцию в PL/SQL или в обычном SQL. Или разбираясь с багом в старой. Мы ведь здесь пытаемся обсуждаем подходы к созданию движка СУБД , а не его использования.
Вы не имеете проблем с оракл PL/SQL потому что там все "вылизали", но чего им это стоило, Вы не оцениваете. Попробуйте это сделать.

Я конечно тоже внутри оракл не был, и дать конкретную оценку именно по нему не могу. Но в процессе разработки нашего сервиса бизнес аналитики, нами было разработано две In Memorу database. Язык управления одинаков, сравним с SQL. Вторая версия этой In memory
была построена "не обычно". Это "не обычно" дало нам выигрыш по скорости работы самой базы (в среднем до 20%), но это не главное! Во время создание второго варианта мы тратили на решение аналогичных задач (поддержку своего SQL) гораздо меньше ресурсов. И сейчас, если нам надо что то понять как внтури работает старая конструкция нашего SQL или добавит в него новое, мы делаем это с гораздо меньшими затратами. Это и обсуждается. Но есть трудности, так как нет здесь здесь людей, имеющих опыт разработки ядра СУБД. Ну или они молчат.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40099999
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Но есть трудности, так как нет здесь здесь людей, имеющих опыт разработки ядра СУБД.

Ошибаетесь, их здесь полно. Только на моей памяти сюда приходили человек тридцать таких же, как Вы. Наиболее эпохальные проекты можете нагуглить по словам "FVMas" и "Стебелёк", а наиболее недавний - кажется, "bluestreak".
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100003
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
artemana
Но есть трудности, так как нет здесь здесь людей, имеющих опыт разработки ядра СУБД.

Ошибаетесь, их здесь полно.

Прекрасно, поинтересуюйтесь их мнением, пригласити их в этот топик
softwarer

Только на моей памяти сюда приходили человек тридцать таких же, как Вы. Наиболее эпохальные проекты можете нагуглить по словам "FVMas" и "Стебелёк", а наиболее недавний - кажется, "bluestreak".

Читал, помню. В этом, как мне кажется, и проблема.
Вы "измученный" ими даже не пытаетесь вникнуть в суть этой темы, раздавая ярлыки, попутно сообщая о своих, вместе с оркалом, достижениях.

И даже если завтра, ваш любимый вендор выпустит новую версию in memory database, в которой целиком или опционально использует обсуждаемый подход, Вы об этом не узнаете. А даже если узнаете, не перестанете бросать в меня какашками. Как так, кто то предложил обсудить подход, суть которого не удается ухватить даже на 4 странице его обсуждения.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100007
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Конечно могу. Но если Вы действительно хотите разобраться в том, какие там структуры для хранения используются, нужно создавать отдельный топик. Там достаточно необычная система. Она в принципе больше похожа под Row-oriented, но там есть моменты, позволяющие хранить данные более компактно и более быстро проводить фильтрацию при выборке.
Но повторюсь, все это имеет мало отношение к тому, что мне хотелось бы обсудить в данной теме.

Хорошо. Я буду ждать нового топика.

В новых экспериментах с созданием DBMS что главное? Алгоритмы и структуры данных. И я-бы еще
добавил особые оптимизации под специфику железа. Например Tarantool создавал особый вид
бинарного дерева которое должно работать поверх SSD-носителей.

Целевой язык который вы там создаете мне кажется - не особо интересен. Там - нечего обсуждать.
Или если вы считаете что есть что обсуждать - покажите интересные кейсы. Авторы всегда топят
за свои рукотворные DSL, но остальные разработчики и product-owners обычно смотрят на это с
безразличием.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100174
kernelpanic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artemana
...
Подход с использованием промежуточного языка все равно будет отличаться от классического. Вопрос нужно ли это делать и для каких СУБД? Вот что хотелось бы понять. ...


Такой подход используется у промышленной субд - SAP HANA (она, впрочем, не OLAP-спцифичная, а универсальная). Имеет свои преимущества и недостатки. Отладка для самих разработчиков СУБД в целом проще, потому как промежуточный язык - подмножество плюсов с некоторыми модификациями.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100188
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Прекрасно, поинтересуюйтесь их мнением, пригласити их в этот топик

А за пивом Вам не сбегать?

artemana
Читал, помню. В этом, как мне кажется, и проблема.
Вы "измученный" ими даже не пытаетесь вникнуть в суть этой темы

Стоящую тему может рассказать человек, обладающий определённой квалификацией. Вы, равно как и авторы тех тем, необходимой квалификацией явно и очевидно не обладаете. Зато обладаете такими их характерными особенностями, как психология обиженки и стремление видеть пиписькомерянье там, где его нет.

Поэтому Вы правы - вникнуть в суть я не пытался. Как не стал бы особо внимательно слушать рассуждения пятилетнего ребёнка о способах защиты и взлома ПО. По крайней мере до тех пор, пока этот ребёнок не скажет что-либо, что убедит, что он значительно превосходит своих сверстников и способен беседовать на соответствующем теме уровне.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100193
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kernelpanic, спасибо! Почитаю.
какие недостатки кажутся наиболее значимыми Вам лично ?
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100194
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer

Поэтому Вы правы - вникнуть в суть я не пытался.

Зачетный каминг аут !
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100199
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Одна из них - всемогущий оракл, который из SQL процедуры делает машинный код. Мол трепищите, порвет всех!

Кстати Оракл не делает машинный код для процедур. Обычно делается байткод. У него действительно есть опция plsql_compiler_flags которая
сразу после установки стоит в значении INTERRPETED. (Так было до Oracle11 включительно) и ее можно
(с множеством ограничений) включить в другой статус где будет нативная компилляция. Но эта опция
не продается корпорацией как киллер-фича. И для перформнса она вообще рассматривается в последнюю
очередь.

Вобщем аргумент был мимо кассы.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100207
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
softwarer

Поэтому Вы правы - вникнуть в суть я не пытался.

Зачетный каминг аут !

Кстати, попробуйте научиться вести себя с достоинством. Квалификации оно не заменит, но от образа гопника избавит.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100321
kernelpanic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artemana
kernelpanic, спасибо! Почитаю.
какие недостатки кажутся наиболее значимыми Вам лично ?


А вот Вам целая пдф на этот счет
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100337
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kernelpanic, Спасибо! Судя по началу, самое то. Ознакомлюсь полностью, напишу подробней.
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100386
kernelpanic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artemana,

И вот еще,
на https://www.youtube.com/watch?v=BOGiv1kiio0
...
Рейтинг: 0 / 0
Dinamyc hard coding
    #40100544
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kernelpanic, просто отличный материал! Особенно видео доклада. Некоторые совпадения, с тем что мы сделали и как мы себе это представляли до, откровенно порадовали.

Пусть мы не первые додумались до кода генерации для SQL, но реализовали мы ее не зря.
Все подтверждается, и простота отладки и скорость работы движка базы данных, реализованной с этим подходом, видим не мы одни.
То что там С, а у нас С#, роли особой не играет, так производительность у него и у среды .Net отличная. Мы очень довольны.

В базе SAP HANA очень много чего есть еще. Часть из этого, например распределенная обработка запроса, нам только предстоит выполнить.
Сейчас наша база живет только внутри одного процесса, и параллельная(многопоточная) обработка запроса производиться только внутри него. Многопоточность свое дает, и хорошо дает, но после определенного количества включаемых потоков, все уже начинает упираться в производительность одного сервера. Пока для наших клиентов хватает и есть запас. Считаем, что тот сегмент рынка, на который мы нацелены сейчас, должны удовлетворять.
Будут большие потребности, будем двигаться в сторону распределенной обработки.

Еще раз, большое спасибо!
...
Рейтинг: 0 / 0
88 сообщений из 88, показаны все 4 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Dinamyc hard coding
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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