DATABASE DESIGN – Telegram
DATABASE DESIGN
1.41K subscribers
2.09K photos
3 videos
5.35K links
Лучшие материалы по работе с хранилищами данных на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
3 Minutes for Structure of Database System

If you are here, I am assuming that you have a little bit of knowledge of what is a database and some kinds of stuff and If not then feel free to learn it on my Blog in an Easy way.
Let's Take a Look at the Original Diagram of the Database System.

F...

Read: https://wolfgunner.hashnode.dev/3-minutes-for-structure-of-database-system
Яндекс выложил в опенсорс YDB

Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.
YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных.

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


Читать: https://habr.com/ru/post/660271/
🔥1
Авторизация в PostgreSQL. Часть 1 — Роли и Привилегии

Никто не будет спорить с тем, как важно понимать механизмы прав доступа и безопасности в базах данных. Если вы не продумываете логику авторизации в вашей БД, то, вероятно, вы не следуете принципу наименьших привилегий — к вашей базе данных могут получить доступ коллеги (например, разработчики, аналитики данных, маркетологи, бухгалтеры), подрядчики, процессы непрерывной интеграции или развернутые службы, которые имеют больше привилегий, чем должны. Это увеличивает риск утечек, неправомерного доступа к данным (например, личной информации), а также случайного или злонамеренного повреждения и потери данных.

Несмотря на важность темы, авторизация в базе данных являлась моим слабым местом в начале карьеры. NoSQL был самым крутым парнем на районе, а мир веб-разработки соблазняли фреймворки (например Rails), которые давали более приятный опыт разработки, нежели сложные SQL-скрипты. Но мир меняется. SQL и реляционные базы данных снова оказались в центре внимания, поэтому важно научиться пользоваться ими безопасно и эффективно. В этой серии статей я раскрою основные области авторизации в базах данных с акцентом на PostgreSQL, поскольку это одна из самых зрелых и функциональных СУБД с открытым исходным кодом.

Читать: https://habr.com/ru/post/661771/
Анонимно, пожалуйста

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


Читать: https://habr.com/ru/post/661857/
Reverse Engineering Uhabits Datamodel

OK, that noscript sounds fancy and complicated. What did I actually do? First I should probably explain why I did anything in the first place.
Background
I’ve been using uhabits for years. I noticed a new numeric habit type was added in v2.0.0. Previous...

Read: https://conorsheehan1.hashnode.dev/reverse-engineering-uhabits-datamodel
Cleaning Up My Data - Week 10 of My Software Development Bootcamp

For my capstone project, I am building a clone of a current website, and expanding it to have a shopping cart component. This week I received the data from the current site to incorporate it into our project.
I got a json file. It had 1,600ish objec...

Read: https://trail2dev.hashnode.dev/cleaning-up-my-data-week-10-of-my-software-development-bootcamp
Data Lake VS Data Warehouse

With the rise of the concept of a data lake in recent years, the industry has been constantly arguing about the comparison and debate between data warehouse and data lake. Some people say that the data lake is the next-generation big data platform. M...

Read: https://alibabacloudofficial.hashnode.dev/data-lake-vs-data-warehouse
Выкачиваем почтовый архив. Бэкап Gmail и других ящиков на локальный диск

Почтовый ящик с письмами — это личная собственность человека. Никто не имеет права доступа к архиву, кроме владельца.

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


Читать: https://habr.com/ru/post/660197/
👍1
Быстрый перенос систем SAP в российское облако: оценка рисков, подбор ресурсов, разбор кейса

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


Читать: https://habr.com/ru/post/662037/
Как работает оптимизатор PostgreSQL при большом количестве соединений

SQL — это декларативный язык программирования, используемый для создания и манипулирования объектами в реляционных СУБД. Этот язык описывает что должно быть получено, но не описывает как это получить. Программист пишет запрос и (чаще всего) хочет получить результат от СУБД максимально быстро.

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

Поэтому оптимизатор — это ключевая часть СУБД, один из самых сложных элементов всей системы.

Для демонстрации работы оптимизатора практически во всех наших (и чужих) примерах на эту тему используются довольно скромные параметры: две-три таблицы, пара JOIN-ов, миллисекунды на выполнение запросов. А что будет, если загрузить оптимизатор десятками таблиц за раз? Как разные конфигурационные параметры влияют на производительность запросов с сотней JOIN-ов? И переживет ли это среднестатистический рабочий ноутбук? Ответы на эти вопросы — со схемами и графиками — вы найдете под катом!


Читать: https://habr.com/ru/post/662021/
Finding The Right Career Move Thanks to Flexa and MongoDB

Read: https://www.mongodb.com/blog/post/finding-right-career-move-thanks-flexa-mongodb
Announcing the General Availability of openCypher support for Amazon Neptune

Read: https://aws.amazon.com/blogs/database/announcing-the-general-availability-of-opencypher-support-for-amazon-neptune/
Day 31/100

Designing Data-Intensive Applications [Book Highlights]
[Part I : Chapter III] Storage and Retrieval
Aggregation: Data Cubes and Materialized Views


The advantage of a materialized data cube is that certain queries become very fast because they have...

Read: https://rawdatareaders.hashnode.dev/day-31
Introducing Exadata Cloud Infrastructure X9M

This blog describes the new Exadata Cloud Infrastructure X9M

Read: https://blogs.oracle.com/database/post/introducing-exadata-cloud-infrastructure-x9m
Bun: SQL-first Golang ORM

SQL-first
Bun is a SQL-first Golang ORM for PostgreSQL, MySQL/MariaDB, MSSQL, and SQLite.
SQL-first means you can write SQL queries in Go, for example, the following Bun query:
var num int
err := db.NewSelect().
TableExpr("generate_series(1, 3)")...

Read: https://uptrace.hashnode.dev/bun-sql-first-golang-orm
Установка Sonatype Nexus с SSL

Sonatype Nexus — программный продукт, который представляет собой менеджер репозиториев для хранения артефактов. По умолчанию установка происходит без включенного SSL. В данной статье будет описана установка Sonatype Nexus в контейнере Docker с использованием Nginx в качестве обратного прокси сервера, а также будет рассмотрено получение бесплатного доменного имени на сайте freenom.com и создание SSL-сертификата при помощи службы Let’s Encrypt.


Читать: https://habr.com/ru/post/661465/
Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк

Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов:
* Роли и привилегии;
* Безопасность на уровне строк (мы сейчас здесь);
* Производительность безопасности на уровне строк (coming soon!);

В первой статье мы рассмотрели, как роли и предоставленные привилегии влияют на действия (запросы SELECT, INSERT, UPDATE и DELETE) в отношении объектов БД (таблиц, представлений и функций). Та статья закончилась небольшим клиффхэнгером: если вы создадите многопользовательское приложение, используя только роли и привилегии для авторизации, то ваши пользователи смогут удалять данные друг друга, а может и вообще друг друга. Необходим другой механизм, позволяющий ограничить пользователей чтением и изменением только собственных данных — механизм безопасности на уровне строк (RLS).

Читать: https://habr.com/ru/post/662209/
Лучший технический вопрос, который мне задавали на собеседовании

Много воды утекло с тех пор, как я в последний раз участвовал в собеседовании по программированию как соискатель. Но до сих пор помню особенно полюбившийся мне вопрос с такого собеседования. Дело было в MemSQL, году так в 2013. (Они даже успели переименоваться, поэтому, полагаю, конкретно этот вопрос они на собеседовании уже не задают. Не чувствую вины за то, что выдаю его. Это отличная история, которая также кажется мне поучительной; просто раньше я о ней никогда не писал).

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

Поскольку компания MemSQL разрабатывала базу данных, этот челлендж из той же оперы.


Читать: https://habr.com/ru/post/662247/
How to perform CRUD operations with Entity Framework Core and PostgreSQL

When working with relational databases, you often come across two tasks: writing SQL queries and mapping the results to some DTO objects.
.NET developers are lucky to have an incredibly powerful tool that can speed up their development: Entity Framew...

Read: https://code4it.hashnode.dev/how-to-perform-crud-operations-with-entity-framework-core-and-postgresql
The 5-Step Guide to Mainframe Modernization for Banks

Read: https://www.mongodb.com/blog/post/5-step-guide-mainframe-modernization-banks