The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проект AlaSQL развивает СУБД для браузеров и Node.js

03.01.2023 09:52

Опубликован выпуск СУБД AlaSQL 2.5.0, предназначенной для использования в web-приложениях в браузере, в мобильных приложениях на базе web-технологий или в серверных обработчиках на основе платформы Node.js. СУБД оформлена в виде JavaScript-библиотеки и позволяет использовать для манипуляции с данными язык SQL. Поддерживается как хранение в традиционных реляционных таблицах, так и в форме вложенных JSON-структур, не требующих жёсткого определения схемы хранения. Для манипуляции с данными из командной строки предоставляется утилита alasql. Код проекта написан на JavaScript и распространяется под лицензией MIT.

Библиотека изначально рассчитана на быструю обработку данных в оперативной памяти для приложений бизнес-аналитики и поддерживает такие оптимизации, как кэширование запросов в форме скомпилированных функций, упреждающая индексация слияния таблиц и фильтрация выражений WHERE перед операциями слияния. При сравнении с другими похожими проектами, AlaSQL оказалась быстрее SQL.js в три раза при выборке с операциями SUM, JOIN и GROUP BY, быстрее Linq в два раза при использовании GROUP BY и примерно на том же уровне, что и API WebSQL (надстройка над SQLite, которая скоро будет удалена из Chrome) при выборке с операциями SUM, JOIN и GROUP BY.

СУБД AlaSQL спроектирована для использования парадигмы ETL (Extract, Transform, Load) и манипуляции с данными в форме импорт/обработка/экспорт. Для хранения, экспорта и импорта могут использоваться форматы localStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite и Excel (.xls и .xlsx), подразумевается что можно напрямую выполнять запросы из данных, хранимых в отмеченных форматах, или импортировать и экспортировать данные. Также возможно выполнение операции SELECT над любыми данными в объектах JavaScript.

В СУБД поддерживается большая часть языка SQL-99, а также предоставляются дополнения для обработки в стиле NoSQL (без определения схемы хранения) и манипуляции с графами. В SQL-запросах можно производить операции слияния (JOIN), группировки (GROUP), объединения (UNION), использовать подзапросы и выражения типа ANY, ALL и IN, применять функции ROLLUP(), CUBE() и GROUPING SETS(). Имеется ограниченная поддержка транзакций. Поддерживается определение пользовательских функций, которые можно использовать в SQL-запросах. Для быстрого вызова функции и SQL-выражения могут быть скомпилированы (аналог SQL-оператора PREPARE).

  1. Главная ссылка к новости (https://github.com/AlaSQL/alas...)
  2. OpenNews: В SQLite добавлена поддержка WASM для использования СУБД в web-браузере
  3. OpenNews: Уязвимость в SQLite, позволяющая удалённо атаковать Chrome через WebSQL
  4. OpenNews: Выпуск СУБД PouchDB 6.4, реализации CouchDB на JavaScript
  5. OpenNews: Проект Postgres WASM подготовил работающее в браузере окружение с СУБД PostgreSQL
  6. OpenNews: Проект libSQL начал развитие форка СУБД SQLite
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58422-alasql
Ключевые слова: alasql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:48, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    О! а потом надо сделать новую NoSQL базу в браузере на бекэнде у которой будет эта AlaSQL. А потом на ней новую sql....
     
     
  • 2.8, Аноним (8), 12:36, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А когда они узнают про существование wasm у них просто будет культурный шок.
     
     
  • 3.27, Аноним (-), 17:00, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    к гадалке не ходи - ты про wasm не знаешь вообще ничего
     

  • 1.2, Аноним (2), 11:13, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Яваскрип, нодежысы и быстрая обработка? Однако...
     
     
  • 2.4, Аноним (8), 11:36, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Быстро для браузера. Вполне годно.  
     
     
  • 3.9, Без аргументов (?), 12:38, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    2 FPS, как анимэшники привыкли - и то частичная отрисовка
     
     
  • 4.13, Аноним (8), 12:47, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну измерять скорость базы данных в FPS это сразу выдаёт «игруна», но вопрос куда ты так торопишься в браузере остаётся открытым. Конечно если ты в базу решил выгрузить геном человек, у тебя могут возникнуть трудности, но есть такая скрытая возможность этого не делать. А использовать другие инструменты.
     
     
  • 5.17, Без аргументов (?), 14:17, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Игры для малышей, тем более браузерные. Я пишу про всё, что связано с JS, в т.ч. интерфейс приложений типа вивальди. А по поводу БД я вообще молчу, т.к. в анамнезе был Oracle SQL разработчиком и видел большие взрослые высоконагруженные БД, в т.ч. OLAP-ы и витрины данных сам готовил и оптимизировал, т.ч. JS тут разве что из таблицы с одной строкой Hello, world вывести из БД.
     
     
  • 6.28, Аноним (28), 17:19, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Оракл в анамнезе, а мыслишь как подросток. Между высоконагруженными OLAP и текстовым файлом на десктопе целая вселенная, в которой найдётся место в том числе и сабжу. Но чтобы это увидеть и понять, надо для начала вырасти и перестать мыслить экстремумами.
     
     
  • 7.37, Без аргументов (?), 18:36, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Чтобы понять, что JS превращает Core i5 с 4 ГБ ОЗУ в 486DX4 с 16ГБ ОЗУ, нужно тоже вырасти. А то поставили задачу оптимизации и взяли самое тормозное
     
     
  • 8.39, Аноним (39), 18:50, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Как видно, ты уже из пеленок вырос - Во времена 486-х память мерялась в мегаба... текст свёрнут, показать
     
     
  • 9.52, Без аргументов (?), 03:50, 04/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это называется занудность, я пишу быстрее, чем смотрю... текст свёрнут, показать
     
  • 7.38, Без аргументов (?), 18:38, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я уже всё и так понял, от моих слов тут ниче не поменяется. Все идет в вебню и вебней будет погонять, ради подписок и телеметрии, плюс квалифицированных спецов не хватает, а маркетинг требует сделать еще вчера.
     
  • 4.18, Омномним (?), 14:50, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    2 было до 80-х где-то. Потом было 5. Сейчас отрисовывают 8+ и доводят сплайнами, можно и 15, и 30, и даже 60 встретить (правда последнее на личный вкус отвратно смотрится). CG обычно 15-30.
     
     
  • 5.36, Без аргументов (?), 18:32, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь буду разбираться
     
  • 5.42, Аноним (42), 20:08, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    GAINAX около 30  лет назад уже использовал 60 фпс CGI. Учитывая, что с 2000 года около 100% продукции это CGI (в основном, 3д, хоть и выглядит нарисованно), лоуфпс это, в основном, эстетическая фича.
     
     
  • 6.45, Омномним (?), 21:11, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, не путайте CGI с ротоскопом :)
     
  • 6.46, Омномним (?), 21:12, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    CGI (что 3D, что 3D2D) как выглядело ужасно, так и выглядит ужасно.
     
     
  • 7.47, Аноним (42), 21:26, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, в принципе, я просто посмотрел несколько документалок об аниме индустрии (профессиональных). Очень многие сцены в 3д, но могут собираться из ассетов, которые после постобработки выглядят как 2д. Их обычно не отличить в итоге. Иногда видно, что это не рисовали вручную, иногда нет. Это очень экономит бюджеты, но в итоге мы имеем SHAFT (и с тех пор все студии выстроили свои процессы именно так). Качество и сложность картинки несколько возросли конечно, но постоянный реюз ассетов быстро надоедает. Не знаю, я с 99% вероятностью угадывал, когда SHAFT принимал участие в чём-нибудь.
     

  • 1.3, Аноним (8), 11:35, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вот смотрите на Node.js и джаваскрипт весь мир уже переписали 10 раз. А на одном другом языке, который пытается метить в мировое господство, не смогли даже 0.01% мира переписать.  
     
     
  • 2.5, Аноним (1), 11:37, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    хм... а что если этот другой язык тоже на джаваскрипт переписать ?
     
  • 2.6, Аноним (6), 12:27, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем переписывать идеальное? работает - не трожь!
     
     
  • 3.7, Аноним (8), 12:35, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Они считают что если переписать это идеальное на свой волшебный язык, оно станет лучше. Фанатики короче.
     
  • 2.10, Без аргументов (?), 12:40, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    NodeJS уже переписали в Deno.
     
     
  • 3.11, Аноним (8), 12:45, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скучно.
     
  • 3.12, Аноним (12), 12:46, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А потом Deno перепишут на Bun.js (Zig language).

    И вот оказывается что Rust очень медленный, по сравнению с Zig.

     
  • 3.30, Аноним (30), 17:53, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Deno игнорирует файлы с невалидной utf строкой в названии. Значит он наврет даже а банальном readdir. Node.js такой проблемы не имеет. Ergo нода готова для продакшна, а deno даже для петпроектов не сойдёт.
     
     
  • 4.35, Без аргументов (?), 18:31, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я тут случайно создал файл с \n в конце имени, дык долфин показывал оба, при переименовывании не было переноса
     
  • 2.15, Без аргументов (?), 12:49, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для меня главное:
    1. Чтобы выполняло свою функцию (а не как вкладки фаерфокса в базальте падают, а вивальди не отрисовывает иконки погоды)
    2. Чтобы при отправке или приеме слова "Привет" хватало GPRS.
    3. Чтобы оформление было единообразным (разнообразие должно быть в реальной жизни, не путать), а не как в софте только под Windows.
    4. Чтобы большая часть кода и занятых ресурсов выполняла большую часть прикладного функционала.
    5. Чтобы маркетоложцы не перечёркивали вышеперечисленное в угоду своего кармана или ежеквартальной премии.
     
     
  • 3.19, бузинес (?), 15:59, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты еще предложи нанимать дорогих профессионалов вместо дешевой школоты и маркето-впаривателей
     
     
  • 4.21, Бывалый смузихлёб (?), 16:32, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дорогой - вовсе не значит что профессионал, а не маркето-впариватель )
     
  • 4.34, Аноним (28), 18:29, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У тебя денег нет нанимать дорогих профессионалов, твой проект недостаточно интересный, чтобы профессионал захотел там работать, твоя компания — никому неизвестные «рога и копыта» и даже как строчка в резюме имеет отрицательную ценность. Поэтому писать его будут кодеры под присмотром одного сеньора, он же и за тимлида будет, и за архитектора, и код ревью тоже он. Реальная история, я не тролль.
     
     
  • 5.58, Аноним (58), 06:37, 06/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть целый сеньер.
    В моем рога и копыта разработчики даже final, блок инициализации у анонимных классов, контракт equals/hashCode и как работает HashMap не знают и java core в целом даже на уровне джуниоров.
    Зато код на 4х языках и куче разных старых фреймворков.

    Дно

     

  • 1.14, Аноним (14), 12:47, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    AlaSQL. Типа как "Увы, SQL!", такой намёк, да? (alas от англ. увы)
     
     
  • 2.22, Самый умный из вас (?), 16:46, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А с французского как?
     
  • 2.43, Аноним (43), 20:19, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну хоть не alasha (морд. - "лошадь"). Все любят лошадок.
     

  • 1.16, Аноним (16), 14:08, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Уже есть lovefield от гугла
     
  • 1.20, YetAnotherOnanym (ok), 16:20, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А зависимости, зависимостей сколько надо притащить, чтобы вкорячить его на свой сайт? Сто пакетов? Двести? Пятьсот? Тысячу?
     
     
  • 2.25, Аноним (25), 16:56, 03/01/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    $ ls -1q node_modules/ | wc -l
    33

    не благодари

     

  • 1.48, Аноним (48), 22:42, 03/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нафиг оно нужно, когда уже есть SQLite on WASM?
    https://sqlite.org/wasm/doc/trunk/about.md
     
  • 1.51, darkshvein (ok), 02:00, 04/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    жалкие полумеры.
    надо писать сразу ОС на JavaScript
    все существующие ОС недостаточно недостаточны для величия JS-кодеров.
     
     
  • 2.53, Без аргументов (?), 03:54, 04/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Tizen, Firefox OS, Chrome OS, Windojs 12 Electron Edition Ads Anywhere coming soon...
     

  • 1.57, fuggy (ok), 18:08, 05/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чую оверинжиниринг я здесь.
    Здесь и реляционная и json без жесткой схемы. Ещё куча форматов ввода/вывода, SQL-99, NoSQL, поддержка транзакций, аналитические функции.
    Напихали всего чего можно, из которого будет использоваться 10%. Ответственные проекты, где нужны транзакции, вряд ли будут использовать это.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру