Forwarded from INTERNET 9000
Из твиттера.
Бенчмарк:
json в pg через django vs redis.
«Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?»
Автор не понимает как в redis обеспечивается персистентность и разницу в представлении redis blob против json в pg. Так же не ясен физический смысл происходящего...
https://www.peterbe.com/plog/redis-vs-postgres-blob-of-json
Бенчмарк:
json в pg через django vs redis.
«Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?»
Автор не понимает как в redis обеспечивается персистентность и разницу в представлении redis blob против json в pg. Так же не ясен физический смысл происходящего...
https://www.peterbe.com/plog/redis-vs-postgres-blob-of-json
Peterbe
How much faster is Redis at storing a blob of JSON compared to PostgreSQL? - Peterbe.com
tl;dr; Redis is 16 times faster at reading these JSON blobs.*
Hewlett Packard выложили 80 страниц с описанием изменений в postgresql 13 по сравнению с предыдущей версией.
Выделил самые, на мой взгляд, интересные:
- CREATE OR REPLACE TRIGGER. Раньше можно было только создать, заменить было нельзя
- ALTER VIEW. Теперь можно переименовывать колонки во вью без их пересоздания. Раньше это было особенно больно для тех, у кого были каскадные вьюхи (не делайте так никогда :))
- В B-Tree индекс добавили дедупликацию в пределах страницы.
- Для каждой отдельной таблицы можно настроить свои значения autovacuum при создании и потом поменять.
- Теперь to_date/to_timestamp зависит от локали. Возможно, это поломает кому-то приложение.
Полный документ
Выделил самые, на мой взгляд, интересные:
- CREATE OR REPLACE TRIGGER. Раньше можно было только создать, заменить было нельзя
- ALTER VIEW. Теперь можно переименовывать колонки во вью без их пересоздания. Раньше это было особенно больно для тех, у кого были каскадные вьюхи (не делайте так никогда :))
- В B-Tree индекс добавили дедупликацию в пределах страницы.
- Для каждой отдельной таблицы можно настроить свои значения autovacuum при создании и потом поменять.
- Теперь to_date/to_timestamp зависит от локали. Возможно, это поломает кому-то приложение.
Полный документ
Новый день - новые идеи для правил анализатора...
https://twitter.com/yephph/status/1249246702126546944
https://twitter.com/yephph/status/1249246702126546944
Тред про clojure.
Я немного интересовался, выглядит прикольно, но не погружался, т.к. на данном этапе проекта нет смысла :(
Если Роб так и будут кормить завтраками с дженериками в go, перепишу все на haxe, нафиг :)
https://twitter.com/timofeipl/status/1268246291655667712
Я немного интересовался, выглядит прикольно, но не погружался, т.к. на данном этапе проекта нет смысла :(
Если Роб так и будут кормить завтраками с дженериками в go, перепишу все на haxe, нафиг :)
https://twitter.com/timofeipl/status/1268246291655667712
Для тех, кто работает с базами из IDE от JetBrains, рекомендую посмотреть этот видос:
https://www.youtube.com/watch?v=I4Ifpg5_CIs
Использую DataGrip с начала ее появления, и удобнее тулзы для работы с базами я не видел.
На винде использовал IDE от sqlmanager.net, но после переезда на мак приходилось страдать.
В видосе полезно приблизительно все. Я не знал процентов 80 и теперь боюсь подумать о том, сколько же времени я мог сэкономить, если бы знал хотя бы половину.
Один переход между таблицами по FK чего стоит!
Функционал DataGrip встроен и в другие IDE, поэтому будет актуально для пользователей всех продуктов JetBrains.
Кстати, разрабы завели баг-трекер с человеческим лицом в виде чата в телеге, где довольно любезно отвечают на запросы юзеров. Я уже зарепортил парочку :)
https://news.1rj.ru/str/datagrip
https://www.youtube.com/watch?v=I4Ifpg5_CIs
Использую DataGrip с начала ее появления, и удобнее тулзы для работы с базами я не видел.
На винде использовал IDE от sqlmanager.net, но после переезда на мак приходилось страдать.
В видосе полезно приблизительно все. Я не знал процентов 80 и теперь боюсь подумать о том, сколько же времени я мог сэкономить, если бы знал хотя бы половину.
Один переход между таблицами по FK чего стоит!
Функционал DataGrip встроен и в другие IDE, поэтому будет актуально для пользователей всех продуктов JetBrains.
Кстати, разрабы завели баг-трекер с человеческим лицом в виде чата в телеге, где довольно любезно отвечают на запросы юзеров. Я уже зарепортил парочку :)
https://news.1rj.ru/str/datagrip
YouTube
2019.12.17 Максим Соболевский - DataGrip — IDE для SQL от JetBrains
Пять лет назад в JetBrains решили, что те возможности, которые предоставляют IDE на платформе IntelliJ для работы с базами данных, могут быть интересны не только разработчикам на java или php, но и тем, для кого работа с данными — основная деятельность. Так…
На глаза стали попадаться рецензии на книгу The Culture Map:
- от Руслана Фазлыева, который ecwid, который был у Дудя
- от Виталия Мышляева, который concert with me, которым я парсил базу вот в этой истории https://news.1rj.ru/str/nosingularity/433
В последнее время стал часто сталкиваться с проблемой донесения своих сообщений до зарубежных контактов. Отдельной проблемой является linkedin. Там на сообщение с холодным контактом дают только 300 символов. Приходится писать, сокращать :)
Кроме того, довольно часто человека может обидеть какая-то фраза, которую ты специально добавил для small talk или просто, чтобы показаться вежливым.
Вот еще неплохой мануал по отечественным инженерам:
"НИКОГДА НЕ ЗАГОВАРИВАЙТЕ С РУССКИМИ ПРОГРАММИСТАМИ"
Короче, люди - это сложно :(
- от Руслана Фазлыева, который ecwid, который был у Дудя
- от Виталия Мышляева, который concert with me, которым я парсил базу вот в этой истории https://news.1rj.ru/str/nosingularity/433
В последнее время стал часто сталкиваться с проблемой донесения своих сообщений до зарубежных контактов. Отдельной проблемой является linkedin. Там на сообщение с холодным контактом дают только 300 символов. Приходится писать, сокращать :)
Кроме того, довольно часто человека может обидеть какая-то фраза, которую ты специально добавил для small talk или просто, чтобы показаться вежливым.
Вот еще неплохой мануал по отечественным инженерам:
"НИКОГДА НЕ ЗАГОВАРИВАЙТЕ С РУССКИМИ ПРОГРАММИСТАМИ"
Короче, люди - это сложно :(
Есть такое выражение "лежать в сторону мечты".
Я нашел подходящую картинку
https://news.1rj.ru/str/Reddit/9934
Я нашел подходящую картинку
https://news.1rj.ru/str/Reddit/9934
Telegram
Reddit
r/ #pics
Современный протест
Современный протест
Если вы хотите рассказать детям про астрономию, или сами освежить свои знания (а то сейчас есть мнение, что земля плоская), рекомендую вот эту штуку.
Чего там только нет - и интерактивчик с вращением планет, и космические тела в разрезе, и ночное небо из выбранной геопозиции с хинтами про звезды.
В вебе бесплатно, приложухи за деньги.
https://www.solarsystemscope.com
Чего там только нет - и интерактивчик с вращением планет, и космические тела в разрезе, и ночное небо из выбранной геопозиции с хинтами про звезды.
В вебе бесплатно, приложухи за деньги.
https://www.solarsystemscope.com
Solar System Scope
Online 3D simulation of the Solar System and night sky in real time - the Sun, planets, dwarf planets, comets, stars and constellations
Forwarded from addmeto
OpenAI выпустили свой первый коммерческий продукт: The API. Это набор инструментов, для работы с текстом. Там и переводы и написание (новостных) текстов, и все что можно вырастить из их умения с текстом работать - не зря они недавно подняли шумих вокруг GPT3. Кстати, интересно, ждать ли теперь предобученную модель для gpt3 не ясно, может и нет, зачем им конкурировать с собой https://www.bloomberg.com/news/articles/2020-06-11/trillions-of-words-analyzed-openai-sets-loose-ai-language-colossus
Bloomberg.com
Trillions of Words Analyzed, OpenAI Sets Loose AI Language Colossus
Over the past few months, OpenAI has vacuumed an incredible amount of data into its artificial intelligence language systems. It sucked up Wikipedia, a huge swath of the rest of the internet and tons of books. This mass of text – trillions of words – was…
Не все знают, но SQL можно использовать не только для работы с данными в БД.
Есть возможность манипулировать данными из командной строки.
Зачем такое может понадобиться?
1) Парсинг JSON-логов
https://github.com/avz/jl-sql
Можно придумать много хороших usecases. Я писал про эту тулзу в статье про тестирование логов - https://news.1rj.ru/str/nosingularity/198
https://osquery.io/
Совершенно безумная и красивая идея. 257 источников данных!
https://github.com/escherize/img_sql/
4) SQL для MongoDB, DynamoDB, Kafka, S3
Если не хочется работать с монгой, но очень нужно, то можно выкрутиться так
https://rockset.com/solutions/mongodb/
Например, отлично зайдет для использования в тулзах для визуализации, таких как Grafana.
Насколько это имеет смысл для работы с базами из приложения, сказать сложно.
5) SQL для запросов по git репозиториям
https://github.com/augmentable-dev/gitqlite (переименовали в askgit)
Есть возможность манипулировать данными из командной строки.
Зачем такое может понадобиться?
1) Парсинг JSON-логов
https://github.com/avz/jl-sql
Можно придумать много хороших usecases. Я писал про эту тулзу в статье про тестирование логов - https://news.1rj.ru/str/nosingularity/198
> cat data.json | jl-sql 'SELECT key, SUM(value) AS sum, COUNT(*) AS count GROUP BY key'2) Работа с параметрами операционной системы
https://osquery.io/
Совершенно безумная и красивая идея. 257 источников данных!
> osqueryi --json "SELECT * FROM mounts m, disk_encryption d WHERE m.device_alias = d.name AND d.encrypted = 0;"3) Работа с изображениями
https://github.com/escherize/img_sql/
> ./img_sql.py -i samples/matrix.jpg -o samples/matrix_out.jpg -s 'update pixels set r = g, b = r, g = b where x > 700'Осталось написать транспайлер в GLSL и будет win :)
4) SQL для MongoDB, DynamoDB, Kafka, S3
Если не хочется работать с монгой, но очень нужно, то можно выкрутиться так
https://rockset.com/solutions/mongodb/
Например, отлично зайдет для использования в тулзах для визуализации, таких как Grafana.
Насколько это имеет смысл для работы с базами из приложения, сказать сложно.
5) SQL для запросов по git репозиториям
https://github.com/augmentable-dev/gitqlite (переименовали в askgit)
> -- how many commits have been authored by user@email.com?
> SELECT count(*) FROM commits WHERE author_email = 'user@email.com'
Forwarded from Лавка Продуктова
Вот это UX, который делает деньги.
«Очень интересный опыт - я купил новую Теслу не поговорив и не увидевшись ни с одним человеком.
Пока страховая разбиралась с выплатой за прошлую машину, я решил полазить по сайту Теслы и посмотреть что нового. Увидел, что модель 3 теперь можно взять в lease (мне кажется так большинство американцев получают машины - ты ей не владеешь, просто платишь ежемесячные платежи, по сути покрывающие ее износ, и через 2 или 3 года сдаёшь обратно). С лизом трёшка стоила очень привлекательно, поэтому я быстро собрал свою конфигурацию, и нажал check out. С карты списалось $100 за бронь и пришло сообщение, что со мной свяжутся.
На следующий день пришла смс, что машина будет готова всего через 2 дня и мне нужно подписать документы и добавить ее в страховку. Я зашёл на сайт Тесла, залогинился в свой кабинет и электронно подписал там договора и документы на Лиз, скопировал и отправил VIN машины в страховую, откуда мне через пару часов пришёл скан новой страховки, которую я загрузил обратно в сайт Tesla.
Сегодня пришла смс с адресом, где стоит машина, а сама она появилась у меня в приложении. Я приехал, нашёл ее на парковке, отметил на сайте, что принимаю ее и в приложении разблокировались опции ее открыть. Открыл, внутри конверт с документами на регистрацию, в них помечено где подписать, на конверте уже есть штампы и адрес, его осталось только закрыть и бросить в почтовый ящик. В обмен через какое-то время придут по почте номера.
Если бы я был автодилером, я бы уже даже наверное и не напрягался, уже поздно.»
~
https://www.facebook.com/photo.php?fbid=10159753713530410&set=p.10159753713530410&type=3
«Очень интересный опыт - я купил новую Теслу не поговорив и не увидевшись ни с одним человеком.
Пока страховая разбиралась с выплатой за прошлую машину, я решил полазить по сайту Теслы и посмотреть что нового. Увидел, что модель 3 теперь можно взять в lease (мне кажется так большинство американцев получают машины - ты ей не владеешь, просто платишь ежемесячные платежи, по сути покрывающие ее износ, и через 2 или 3 года сдаёшь обратно). С лизом трёшка стоила очень привлекательно, поэтому я быстро собрал свою конфигурацию, и нажал check out. С карты списалось $100 за бронь и пришло сообщение, что со мной свяжутся.
На следующий день пришла смс, что машина будет готова всего через 2 дня и мне нужно подписать документы и добавить ее в страховку. Я зашёл на сайт Тесла, залогинился в свой кабинет и электронно подписал там договора и документы на Лиз, скопировал и отправил VIN машины в страховую, откуда мне через пару часов пришёл скан новой страховки, которую я загрузил обратно в сайт Tesla.
Сегодня пришла смс с адресом, где стоит машина, а сама она появилась у меня в приложении. Я приехал, нашёл ее на парковке, отметил на сайте, что принимаю ее и в приложении разблокировались опции ее открыть. Открыл, внутри конверт с документами на регистрацию, в них помечено где подписать, на конверте уже есть штампы и адрес, его осталось только закрыть и бросить в почтовый ящик. В обмен через какое-то время придут по почте номера.
Если бы я был автодилером, я бы уже даже наверное и не напрягался, уже поздно.»
~
https://www.facebook.com/photo.php?fbid=10159753713530410&set=p.10159753713530410&type=3
Музыкальная пауза.
На глаза стали попадаться средневековые ремиксы популярных песен. Этим занимаются люди с канала Hildegard von Blingin' и там на удивление всего 5 треков.
Например, Radiohead - Creep
Похожий канал с Algal the Bard
Например, Nothing Else Matters
Для фанатов лютневой музыки XVI—XVII веков (хехе) есть еще одна внезапная рекомендация - Patty Gurdy.
Девушка играет на вундервафле, которая называется Hurdy Gurdy или колесная лира. И поет.
У меня практически никогда не получалось слушать музыку и работать одновременно. И т.к. большая часть времени проходит за компом, и нет возможности сесть и, например, осознанно посмотреть Radiohead in Rainbows - From the Basement или вдумчиво послушать Филипа Гласса, на первый план выходит jazz radio и каналы с различными каверами.
Вот несколько каналов и подборок, которые мне заходят даже во время работы:
- металл-каверы от Leo Moracchioli и его Frog Leap Studios
- мэшапы от Pomplamoose
- фанк-каверы от Scary Pockets
- мэшапы и каверы от Elise Trouw (например, Radiohead Meets The Police)
- а капелла от Anne Reburn https://www.youtube.com/channel/UChyNJxSsIXh2KyY3VvLnI2g
- а капелла и битбокс от Pentatonix (например, Bohemian Rhapsody)
- джаз от PostmodernJukebox
- джаз от Sugarpie and The Candymen
- для детей - подборка Jazz Loves Disney
На ютубе есть еще несколько отличных каналов с разными исполнителями, которые записывают живые треки специально для них:
- NPR Music (например, live Sting'а)
- KEXP (например, live Auror'ы)
Все, утренняя почта закончилась, шуруйте работать :)
На глаза стали попадаться средневековые ремиксы популярных песен. Этим занимаются люди с канала Hildegard von Blingin' и там на удивление всего 5 треков.
Например, Radiohead - Creep
Похожий канал с Algal the Bard
Например, Nothing Else Matters
Для фанатов лютневой музыки XVI—XVII веков (хехе) есть еще одна внезапная рекомендация - Patty Gurdy.
Девушка играет на вундервафле, которая называется Hurdy Gurdy или колесная лира. И поет.
У меня практически никогда не получалось слушать музыку и работать одновременно. И т.к. большая часть времени проходит за компом, и нет возможности сесть и, например, осознанно посмотреть Radiohead in Rainbows - From the Basement или вдумчиво послушать Филипа Гласса, на первый план выходит jazz radio и каналы с различными каверами.
Вот несколько каналов и подборок, которые мне заходят даже во время работы:
- металл-каверы от Leo Moracchioli и его Frog Leap Studios
- мэшапы от Pomplamoose
- фанк-каверы от Scary Pockets
- мэшапы и каверы от Elise Trouw (например, Radiohead Meets The Police)
- а капелла от Anne Reburn https://www.youtube.com/channel/UChyNJxSsIXh2KyY3VvLnI2g
- а капелла и битбокс от Pentatonix (например, Bohemian Rhapsody)
- джаз от PostmodernJukebox
- джаз от Sugarpie and The Candymen
- для детей - подборка Jazz Loves Disney
На ютубе есть еще несколько отличных каналов с разными исполнителями, которые записывают живые треки специально для них:
- NPR Music (например, live Sting'а)
- KEXP (например, live Auror'ы)
Все, утренняя почта закончилась, шуруйте работать :)
Forwarded from ☕️ Мерлин заваривает τσάι 🐌
«Прежде всего, дзен Python говорит, что любое решение должно быть единственное. Поэтому в Python всего минимум по три.»
Пока ты учишь хаскель, гуманитарии прикидываются программистами...
«... Поэтому мы запускаем маркетплейс заказов по No-code, где клиенты могут разместить запрос на разработку проекта, а ноукодеры и агентства откликнуться и получить поток заказов.»
https://news.1rj.ru/str/Ogurzy/496
«... Поэтому мы запускаем маркетплейс заказов по No-code, где клиенты могут разместить запрос на разработку проекта, а ноукодеры и агентства откликнуться и получить поток заказов.»
https://news.1rj.ru/str/Ogurzy/496
Пока космические корабли бороздят (зачеркнуто) postgresql становится быстрее с каждым новым релизом, монга становится медленнее:
https://www.percona.com/blog/2020/06/24/evaluating-mongodb-under-python-tpcc-1000w-workload/
https://www.percona.com/blog/2020/06/24/evaluating-mongodb-under-python-tpcc-1000w-workload/
Пора признаться, что мы запустили в режиме раннего тестирования holistic.dev - инструмент для автоматического поиска проблем в SQL-запросах и архитектуре баз данных!
Что это такое?
Holistic.dev - это статический анализатор в виде SaaS. Скорее всего вы уже используете статические анализаторы в классических языках программирования. Но для SQL таких инструментов нет.
Мы нашли способ извлечения знаний о структуре связей между данными во всем вашем проекте на основе схемы базы данных и наборе SQL-запросов. Эти знания позволяют нам автоматически следить за согласованностью существующих связей и предоставлять инструменты для автоматического поиска проблем.
Кому это нужно?
Всем, кто думает о производительности и архитектуре своей базы данных. Обычно, больше всего это заботит DBA :) Но DBA есть не во всех компаниях, и довольно часто вопросами производительности приходится заниматься разработчикам.
Если для работы с базой из приложения вы используете ORM, то, как правило, вы узнаете о всех проблемах, когда все уже стало совсем плохо на продакшене под нагрузкой.
Чтобы узнавать о проблемах заранее, можно автоматически отправлять все запросы, которые попадают в базу на анализ и получать отчеты о возможных проблемах еще до того, как вы с ними столкнётесь.
Если вам повезло и вы пишите на чистом SQL, то, во-первых, вы можете отправлять запросы на анализ не дожидаясь проблем в продакшене еще на этапе разработки и/или в CI, а во-вторых, кроме проблем с производительностью запросов вам так же пригодятся подсказки по улучшению архитектуры базы и упрощению запросов. Это позитивно влияет на скорость онбординга новых сотрудников, повышение общего уровня SQL-разработчков, и уменьшение time-to-market.
Что умеет наш инструмент?
Умеет анализировать схему базы данных и запросы. НЕ ТРЕБУЕТ ПРЯМОГО ПОДКЛЮЧЕНИЯ К БАЗЕ И НЕ ИМЕЕТ ДОСТУПА К ДАННЫМ!
Работает только на исходных текстах запросов, которые пользователь присылает самостоятельно.
Расскажет о том, что можно улучшить в схеме базы данных (DDL) и в каждом из запросов (DML). На данный момент реализовано 70 правил, которые включают, например, рекомендации из Don't Do This. Умеет находить колонки в условиях в WHERE, которые не встречаются в индексах.
Знает какие типы у полей будут в результате выполнения и могут ли там появиться NULL-значения, даже если эти поля являются результатом вычислений или сложных JOIN.
Знает, сколько строк вернет запрос (!!!) :) Нет, конечно не в точных цифрах, а в категориях none, one, one or none, many or none.
Для тех, кто пишет на чистом SQL, это поможет сравнить типы и ожидаемое количество строк в приложении с типами результатов выполнения запросов без тестов, код ревью и дебага :)
На данный момент поддерживается синтаксис Postgresql до 13 версии включительно.
Понимает схемы, таблицы, вьюхи, все core функции и операторы, пользовательские функции и операторы, знает про много разных расширений (extension).
В пару простых операций можно автоматизировать экспорт запросов непосредственно из боевой базы, и получать извещения о найденых проблемах при их появлении.
Это возможно сделать как на on-premise установках, так и в managed базах (AWS RDS, Yandex.Cloud, Digital Ocean и тд). В ближайшее время мы подготовим FaaS для основных cloud-провайдеров.
Что это такое?
Holistic.dev - это статический анализатор в виде SaaS. Скорее всего вы уже используете статические анализаторы в классических языках программирования. Но для SQL таких инструментов нет.
Мы нашли способ извлечения знаний о структуре связей между данными во всем вашем проекте на основе схемы базы данных и наборе SQL-запросов. Эти знания позволяют нам автоматически следить за согласованностью существующих связей и предоставлять инструменты для автоматического поиска проблем.
Кому это нужно?
Всем, кто думает о производительности и архитектуре своей базы данных. Обычно, больше всего это заботит DBA :) Но DBA есть не во всех компаниях, и довольно часто вопросами производительности приходится заниматься разработчикам.
Если для работы с базой из приложения вы используете ORM, то, как правило, вы узнаете о всех проблемах, когда все уже стало совсем плохо на продакшене под нагрузкой.
Чтобы узнавать о проблемах заранее, можно автоматически отправлять все запросы, которые попадают в базу на анализ и получать отчеты о возможных проблемах еще до того, как вы с ними столкнётесь.
Если вам повезло и вы пишите на чистом SQL, то, во-первых, вы можете отправлять запросы на анализ не дожидаясь проблем в продакшене еще на этапе разработки и/или в CI, а во-вторых, кроме проблем с производительностью запросов вам так же пригодятся подсказки по улучшению архитектуры базы и упрощению запросов. Это позитивно влияет на скорость онбординга новых сотрудников, повышение общего уровня SQL-разработчков, и уменьшение time-to-market.
Что умеет наш инструмент?
Умеет анализировать схему базы данных и запросы. НЕ ТРЕБУЕТ ПРЯМОГО ПОДКЛЮЧЕНИЯ К БАЗЕ И НЕ ИМЕЕТ ДОСТУПА К ДАННЫМ!
Работает только на исходных текстах запросов, которые пользователь присылает самостоятельно.
Расскажет о том, что можно улучшить в схеме базы данных (DDL) и в каждом из запросов (DML). На данный момент реализовано 70 правил, которые включают, например, рекомендации из Don't Do This. Умеет находить колонки в условиях в WHERE, которые не встречаются в индексах.
Знает какие типы у полей будут в результате выполнения и могут ли там появиться NULL-значения, даже если эти поля являются результатом вычислений или сложных JOIN.
Знает, сколько строк вернет запрос (!!!) :) Нет, конечно не в точных цифрах, а в категориях none, one, one or none, many or none.
Для тех, кто пишет на чистом SQL, это поможет сравнить типы и ожидаемое количество строк в приложении с типами результатов выполнения запросов без тестов, код ревью и дебага :)
На данный момент поддерживается синтаксис Postgresql до 13 версии включительно.
Понимает схемы, таблицы, вьюхи, все core функции и операторы, пользовательские функции и операторы, знает про много разных расширений (extension).
В пару простых операций можно автоматизировать экспорт запросов непосредственно из боевой базы, и получать извещения о найденых проблемах при их появлении.
Это возможно сделать как на on-premise установках, так и в managed базах (AWS RDS, Yandex.Cloud, Digital Ocean и тд). В ближайшее время мы подготовим FaaS для основных cloud-провайдеров.
Чего наш инструмент не умеет?
Т.к. мы не имеем доступ к вашей базе, мы ничего не знаем о ее настройке, не можем выполнить EXPLAIN или помочь с настройкой репликации.
Мы не касаемся ничего, что относится к операционной деятельности. Для анализа метрик базы уже существует много инструментов, и они довольно неплохи.
На данный момент мы не диагностируем ошибки, которые могут возникнуть в рантайме. Если в запросе используется несуществующая таблица, то система просто не сможет вывести типы, но ничего не скажет про отсутствующую таблицу. Репорты по ошибкам рантайма будут добавлены в недалеком будущем.
Ближайшие планы
- Больше правил. На данный момент в продакшене 70 правил из 1300+, которые лежат в беклоге.
- Удобный интерфейс просмотра и расширенного поиска истории метрик из pg_stat_statements (если вы настроите автоматическую отправку ваших метрик)
- Автоматическое обновление DDL. Даст возможность автоматически поддерживать состояние схемы базы данных в нашем сервисе в актуальном состоянии.
- Экспорт типов результатов запросов. Можно использовать для генерации кода ваших приложений или для проверки соответствия типов между приложением и запросами в CI
- Список run-time исключений, которые может выбросить запрос. Например, из-за нарушений уникальности индекса или ошибочного приведения типов.
- Экспорт объекта, отражающего состояние схемы базы. Можно использовать для документации или, например, миграциий.
- Больше поддерживаемых расширений (extension)
- доставка уведомлений о найденных проблемах на email/slack
Сколько это стоит?
Нисколько. Пока все бесплатно. Мы хотим собрать отзывы о нашем продукте, прежде чем запустить его в коммерческую эксплуатацию.
Что взамен?
Мы ищем компании для бесплатных пилотных внедрений.
Внедрение автоматической доставки запросов со стороны базы занимает не больше часа. После этого сразу станет возможным просматривать найденные проблемы в личном кабинете.
Как подключиться?
На holistic.dev вы можете попробовать инструмент в playground на заранее подготовленных демо базах или на любых своих запросах.
Зарегистрировавшись, вы получаете возможность создать несколько проектов, загрузить схемы баз и автоматизировать доставку запросов из базы через API.
На все вопросы, предложения и ругань с удовольствием отвечу в телеграме @antonrevyako или с почты info@holistic.dev
Ваш анализатор ничего не нашел!
Да, такое возможно. Вы молодец!
Но это не точно :) На данный момент реализовано 5% от описанных правил, и довольно вероятно, что позже мы что-то сможем обнаружить. Оставайтесь с нами и мы автоматически пришлем отчет, если новые правила все же найдут проблемы в ваших запросах.
Т.к. мы не имеем доступ к вашей базе, мы ничего не знаем о ее настройке, не можем выполнить EXPLAIN или помочь с настройкой репликации.
Мы не касаемся ничего, что относится к операционной деятельности. Для анализа метрик базы уже существует много инструментов, и они довольно неплохи.
На данный момент мы не диагностируем ошибки, которые могут возникнуть в рантайме. Если в запросе используется несуществующая таблица, то система просто не сможет вывести типы, но ничего не скажет про отсутствующую таблицу. Репорты по ошибкам рантайма будут добавлены в недалеком будущем.
Ближайшие планы
- Больше правил. На данный момент в продакшене 70 правил из 1300+, которые лежат в беклоге.
- Удобный интерфейс просмотра и расширенного поиска истории метрик из pg_stat_statements (если вы настроите автоматическую отправку ваших метрик)
- Автоматическое обновление DDL. Даст возможность автоматически поддерживать состояние схемы базы данных в нашем сервисе в актуальном состоянии.
- Экспорт типов результатов запросов. Можно использовать для генерации кода ваших приложений или для проверки соответствия типов между приложением и запросами в CI
- Список run-time исключений, которые может выбросить запрос. Например, из-за нарушений уникальности индекса или ошибочного приведения типов.
- Экспорт объекта, отражающего состояние схемы базы. Можно использовать для документации или, например, миграциий.
- Больше поддерживаемых расширений (extension)
- доставка уведомлений о найденных проблемах на email/slack
Сколько это стоит?
Нисколько. Пока все бесплатно. Мы хотим собрать отзывы о нашем продукте, прежде чем запустить его в коммерческую эксплуатацию.
Что взамен?
Мы ищем компании для бесплатных пилотных внедрений.
Внедрение автоматической доставки запросов со стороны базы занимает не больше часа. После этого сразу станет возможным просматривать найденные проблемы в личном кабинете.
Как подключиться?
На holistic.dev вы можете попробовать инструмент в playground на заранее подготовленных демо базах или на любых своих запросах.
Зарегистрировавшись, вы получаете возможность создать несколько проектов, загрузить схемы баз и автоматизировать доставку запросов из базы через API.
На все вопросы, предложения и ругань с удовольствием отвечу в телеграме @antonrevyako или с почты info@holistic.dev
Ваш анализатор ничего не нашел!
Да, такое возможно. Вы молодец!
Но это не точно :) На данный момент реализовано 5% от описанных правил, и довольно вероятно, что позже мы что-то сможем обнаружить. Оставайтесь с нами и мы автоматически пришлем отчет, если новые правила все же найдут проблемы в ваших запросах.