По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Графовые базы данных (Graph databases) – это нереляционные системы (NoSQL), которые определяют корреляции между сложно взаимосвязанными сущностями. Такая структура позволяет обойти ограничения реляционных БД и уделяет больше внимания отношениям между данными. Графовая база данных позволяет аккуратно определять взаимосвязи и дает ответы на сложные вопросы о том, как точки данных соотносятся друг с другом. В данной статье объясняется, что такое графовые базы данных, и как они работают. Но для начала можно быстро познакомиться с другими видами NoSQL. Что такое графовая база данных? Графовая база данных – это нереляционный тип баз данных, основанный на топографической структуре сети. Идея этой БД восходит к математической теории графов. Графы представляют наборы данных в виде узлов, ребер и свойств. Узлы, или точки (nodes) – это экземпляры или сущности данных; ими является любой объект, который вы планируете отслеживать. Например, люди, заказчики, подразделения и т.д. Ребра, или линии (edges) – это важнейшие концепции в графовых БД. Они отображают взаимосвязь между узлами. Эти связи имеют направление и могут быть одно- или двунаправленными. Свойства (properties) содержат описательную информацию, связанную с узлами. В некоторых случаях свойства бывают и у ребер. Узлы с пояснительными свойствами создают взаимосвязи, представленные через ребра. Графовые БД предлагают концептуальное представление данных, тесно связанных с реальным миром. Моделировать сложные связи гораздо проще, поскольку отношениям между точками данных уделяется такое же внимание, как и самим данным. Сравнение графовых и реляционных баз данных Графовые БД не создавались для замены реляционных БД. Стандартом отрасли на текущий момент считаются реляционные БД. Но перед этим важно понять, что может предложить та или иная разновидность систем. Реляционные базы данных обеспечивают структурированный подход к данным, а графовые БД считают более гибкими и ориентированы на быстрое понимание взаимосвязей между данными. Графовые и реляционные БД имеют свою область применения. Сложные взаимосвязи лучше реализовать через графовые БД, поскольку их возможности превосходят традиционные реляционные СУБД. При создании моделей баз данных в реляционных системах MySQL или PostgreSQL требуется тщательное планирование, а в графовых используется более естественный и гибкий подход к данным. В таблице ниже приведены ключевые отличия между графовыми и реляционными БД: Тип Графовые БД Реляционные БД Формат Узлы и ребра со свойствами Таблицы со строками и столбцами Связи Представлены в виде ребер между узлами Создаются с помощью внешних ключей между таблицами Гибкость Гибкие Жестко заданные Сложные запросы Быстрые и отзывчивые Необходимы сложные соединения Варианты использования Системы с взаимосвязанными зависимостями Системы с транзакциями и более простыми отношениями Как работают графовые базы данных? Графовые базы данных одинаково относятся к данным и взаимосвязям между ними. Связанные узлы физически связываются, и эта связь рассматривается как часть данных. При таком моделировании данных вы можете запрашивать взаимосвязи также, как и сами данные. Вместо вычисления и запросов на подключение, графовые БД считывают взаимосвязи напрямую из хранилища. По гибкости, производительности и адаптивности графовые БД близки к другим нереляционным моделям данных. В них, как и в других нереляционных БД, отсутствуют схемы, что делает данную модель гибкой и легко изменяемой. Примеры использования графовых баз данных Есть много примеров, когда графовые БД превосходят все прочие методы моделирования данных. Среди таких примеров можно выделить: Рекомендательные сервисы в режиме реального времени. Динамичные рекомендации по продуктам и электронным товарам улучшают пользовательский опыт и максимизируют прибыль. Из известных компаний можно упомянуть Netflix, eBay и Walmart. Управление основными данными. Привязка всех данных к одной общей точке обеспечивает постоянство и точность данных. Управление основными данными крайне важно для крупномасштабных компаний мирового уровня. GDPR и соблюдение нормативных требований. С графами гораздо проще управлять безопасностью и отслеживать перемещение данных. Базы данных снижают вероятность утечки информации и обеспечивают большую согласованность при удалении данных, чем повышается общее доверие к конфиденциальной информации. Управление цифровыми ресурсами. Объем цифрового контента просто огромен и постоянно растет. Графовые БД предлагают масштабируемую и простую модель данных, позволяющую отслеживать цифровые ресурсы: документы, расчеты, контракты и т.д. Контекстно-зависимые сервисы. Графы помогают в предоставлении сервисов, приближенных к актуальным характеристиками мира. Будь то предупреждения о стихийных бедствиях, информация о пробках или рекомендации по товарам для конкретного местоположения, – графовые базы данных предлагают логическое решение для реальных обстоятельств. Выявление мошенничества. Поиск подозрительных закономерностей и раскрытие мошеннических платежных схем выполняется в режиме реального времени. Выявление и изоляция частей графа позволяет быстрее обнаружить мошенническое поведение. Семантический поиск. Обработка естественного языка бывает неоднозначной. Семантический поиск помогает определить значение ключевых слов и выдает более подходящие варианты, которые, в свою очередь проще отобразить с помощью графовых БД. Сетевое управление. Сети – это не что иное, как связанные графы. Графовые БД снижают время, необходимое для оповещения сетевого администратора о проблемах в сети. Маршрутизация. Информация передается по сети за счет поиска оптимальных маршрутов, и это делает графовые БД идеальным вариантом для маршрутизации. Какие есть известные графовые базы данных? С ростом больших данных и аналитики в соцсетях популярность графовых БД возрастает. Моделирование графов поддерживает множество многомодельных БД. Кроме того, доступно много нативных графовых БД. JanusGraph JanusGraph – это распределенная, масштабируемая система графовых БД с открытым кодом и широким набором возможностей по интеграции и аналитике больших данных. Ниже приведен перечень основных функций JanusGraph: Поддержка ACID-транзакций с возможностью одновременного обслуживания тысяч пользователей Несколько вариантов хранения графических данных, включая Cassandra и HBase Встроенный сложный поиск, а также дополнительная (опциональная) поддержка Elasticsearch Полная интеграция Apache Spark для расширенной аналитики данных JanusGraph использует полный по Тьюрингу язык запросов для обхода графов Neo4j Neo4j (Network Exploration and Optimization 4 Java, что переводится как «исследование сети и оптимизация для Java») – это графовая база данных, написанная на Java с нативным хранением и обработкой графов. Основные возможности: Масштабируемость БД за счет разделения данных на части – сегменты Высокая доступность благодаря непрерывному резервному копированию и последовательным обновлениям Высокий уровень безопасности: несколько экземпляров баз данных можно разделить, оставив их на одном выделенном сервере Neo4j использует Cypher – язык запросов для графовых БД, который очень удобен для программирования DGraph DGraph (Distributed graph, что переводится как «распределенный граф») – это распределенная система графовых БД с открытым исходным кодом и хорошей масштабируемостью. Вот несколько интересных возможностей DGraph: Горизонтальная масштабируемость для работы в реальной среде с ACID-транзакциями DGraph – это свободно распространяемая система с поддержкой множества открытых стандартов Язык запросов – GraphQL, который был разработан для API DataStax Enterprise Graph DataStax Enterprise Graph – это распределенная графовая БД на базе Cassandra. Она оптимизирована под предприятия. Несколько функций: DataStax обеспечивает постоянную доступность для корпоративных нужд База данных легко интегрируется с автономной платформой Apache Spark Полная интеграция аналитики и поиска в реальном времени Масштабируемость за счет наличия нескольких центров обработки данных Поддержка Gremlin и CQL для запросов Плюсы и минусы графовых баз данных В каждом типе баз данных есть свои плюсы и минусы. Именно поэтому так важно понимать отличия между моделями и доступные возможности для решения конкретных проблем. Графовые БД – это развивающаяся технология с целями, отличными от других типов БД. Плюсы Вот несколько плюсов графовых баз данных: Гибкая и адаптивная структура Четкое представление взаимосвязей между сущностями Запросы выводят результаты в реальном времени. Скорость зависит от количества связей Минусы Ниже перечислены основные минусы системы: Отсутствует стандартизированный язык запросов. Язык зависит от используемой платформы Графы не подходят для систем на основе транзакций Небольшая база пользователей; при возникновении проблема сложно получить поддержку Заключение Графовые базы данных – это отличный подход для анализа сложных отношений между объектами данных. Быстрота запросов и результаты в режиме реального времени хорошо вписываются в требования современных и стремительно растущих исследований данных. Графы – это развивающаяся технология, которую ждет еще много улучшений.
img
  SASS – это препроцессор CSS. Он используется для обработки сложного синтаксиса CSS перед компиляцией и рендерингом элементов на веб-странице. SASS упрощает процесс написания программного кода и делает его более эффективным. В этой статье вы найдете все, что вам нужно знать о SASS. Давайте начнем с определения того, что такое препроцессор CSS. Что такое препроцессор CSS? Препроцессор CSS – это что-то наподобие компилятора, который помогеют вам скомпилировать CSS-код, исходя из своего собственного уникального синтаксиса. Это значит, что вы можете написать код с помощью синтаксиса препроцессора, и он сгенерирует CSS-код на его основе. В большинстве случаев HTML-файлы ссылаются на такие CSS-файлы, чтобы выполнить оформление веб-страницы.  Для того, чтобы использовать препроцессоры CSS, вам не нужно изучать новый язык. Вы можете писать код так же как делали это на языке CSS. Кроме того, с помощью препроцессоров вы сможете сделать гораздо больше. Например, вы сможете создавать переменные и использовать их в коде многократно. Также вы сможете опустить в коде фигурные скобки и точки с запятой. Проще говоря, препроцессоры CSS помогают упростить процесс написания кода. У CSS есть несколько препроцессоров. Однако именно SASS становится все более и более популярным среди веб-разработчиков. Давайте узнаем больше о том, что такое SASS. Что такое SASS? SASS расшифровывается как «Syntactically Awesome Style Sheets». SASS – это препроцессор CSS. SASS-код обрабатывается программой и компилируется в CSS-код, который уже может быть использован для оформления HTML-элементов. SASS контролирует то, как они будут отображаться на веб-странице. Он совместим со всеми версиями CSS. Кроме того, у SASS есть разные функциональные возможности, например, создание переменных и вложенной структуры, импорт и т.д. Мы поговорим об этом чуть позже. Синтаксис: У SASS есть два разных синтаксиса: синтаксис с отступом и SCSS (Sassy CSS). Как уже можно было понять из названия, синтаксис с отступом использует отступы, как в Python. Работая с синтаксисом с отступом, вы можете опускать фигурные скобки и точки с запятой. Что же касается SCSS, это более новая версия, во многом похожая на CSS. В ней используются фигурные скобки для обозначения блоков кода и точки с запятой для разделения правил.  Как работает SASS? Препроцессор CSS работает следующим образом: Вы пишите код на языке SASS. SASS-код компилируется в CSS-код. Вы добавляете этот CSS-код в HTML-файл. Стало быть, вам нужны три файла: HTML, SASS и CSS. Зачем нужен SASS? Вы спросите, зачем нужно изучать SASS, если он такой же как CSS. Я отвечу, существует несколько причин (которые мы обсудим ниже), по которым SASS считается более эффективным для frontend-разработчиков.  Структура SASS-код гораздо более структурирован, нежели обычный CSS-код, а это значит, что вы можете выполнять те же операции, но количество кода будет меньше. Так что, этот критерий имеет довольно важное значение для крупных проектов, в частности, если в них задействованы несколько разработчиков. Структурированное оформление позволяет всем разработчикам четко понимать код, который пишут и выполняют другие люди.  Простота Изучение SASS не займет у вас много времени. Любой, кто знает CSS, может с легкостью изучить SASS, не тратя при этом огромных усилий и большого количества времени.  Многократное использование SASS предоставляет возможность многократного использования кода, чего нет в CSS. Таким образом, вы можете создавать переменные и блоки кода, которые разработчики смогут использовать в проекте повторно. В результате, снижается вероятность появления ошибок, а процесс внесения изменений в код, становится проще. HTML-код для работы с SASS: примеры Теперь, когда мы примерно представляем, что такое SASS и как он работает, давайте рассмотрим на примерах некоторые его функции. Для всех примеров в этой статье мы будем использовать вот этот HTML-код:    
       

Hello, Welcome to Simplilearn!

       

Here, you will learn about CSS and SASS.

       
               
  • SASS
  •            
  • CSS
  •            
  • SCSS
  •            
  • Programming Languages
  •            
  • Courses
  •        
   
Результат: Использование переменных в SASS В SASS можно использовать переменные – все как в обычном языке программирования. С помощью этих переменных вы можете хранить информацию, которую затем сможете многократно использовать в коде. По сути, вы можете хранить в них любое значение CSS, например, шрифты, цвета, размеры и т.д. Определить переменную в SASS можно с помощью символа «$». Ниже приведен пример того, как можно использовать переменные в SASS. SASS-код: $font-stack: Times New Roman $primary-color: #00FFFF $pad: 10px body  font-family: $font-stack  background-color: $primary-color  padding: $pad Наберите этот код в файле input.sass. Как только вы напишете код, он будет скомпилирован в CSS-код, который вы сможете сохранить в файле mystyle.css. Ниже показано, как будет выглядеть скомпилированный CSS-код. CSS-код: body {  font-family: Times New Roman;  background-color: #00FFFF;  padding: 10px; } При обработке SASS-файла значения, указанные в $font-stack и $primary-color, используются там, где упоминаются эти переменные. Затем этот CSS-файл будет использован HTML-файлом для получения следующего результата.  Результат: Использование вложенной структуры в SASS Использование вложенной структуры – это еще одна функциональная возможность SASS, навеянная HTML. Набирая HTML-код, вы четко видите вложенную систему кода. Это помогает наглядно видеть иерархию кода. Однако у CSS такой функции нет. SASS же позволяет вложенным селекторам обеспечивать аналогичную визуальную иерархию. Ниже приведен код, который использует вложенную структуру с приведенным выше HTML-кодом. SASS-код: $font: Calibri $pad: 15px $bgcolor: #00FFFF $color1: #FF0000 $color2: #FFFF00 body    background-color: $bgcolor    #box1        margin: 10px        color: $color1        h1            font-family: Times New Roman            color: $color2        ul            font-family: $font            font-size: 15px            li                color: #800000 После того, как этот код будет скомпилирован, мы получим следующий CSS-код.  CSS-код: body {  background-color: #00FFFF; }  body #box1 {    margin: 10px;    color: #FF0000; }    body #box1 h1 {      font-family: Times New Roman;      color: #FFFF00; }    body #box1 ul {      font-family: Calibri;      font-size: 15px; }      body #box1 ul li {        color: #800000; } Как вы можете видеть, SASS позволяет вкладывать код в селекторы и при этом не требует предоставления внешней ссылки на него. После того, как браузер запустит этот CSS-код вместе с HTML-файлом, мы получим вот такой результат. Результат: Использование частичных шаблонов в SASS Файлы стилевого оформления могут стать слишком большими, и осуществить управление ими может оказаться не такой простой задачей.  Даже если вы используете SASS для того, чтобы структурировать свой код, большие файлы, так или иначе, приведут к немалому количеству ошибок. Решить эту проблему можно с помощью частичных шаблонов SASS. Частичные шаблоны - это, по сути, фрагменты кода, которые вы можете написать в отдельном файле, но при этом не компилировать в CSS-код. В дальнейшем вы можете использовать эти файлы, добавляя их в какой-то другой SASS-файл.  Для того, чтобы создать файл с частичным шаблоном, вам нужно добавить нижнее подчеркивание перед именем файла. Например, вы можете назвать файл так: _font.css.  Символ подчеркивания указывает SASS, что этот файл – это частичны шаблон SASS, и компилировать его не нужно. Кроме того, вы можете добавить в этот файл всю необходимую вам информацию и использовать ее в других SASS-файлах для его компиляции. Например, вы можете добавить в ваш файл _font.css всю информацию о шрифте, например, размер шрифта, семейство шрифтов, его цвет и т.д. А затем вы можете использовать этот файл в основном SASS-файле с помощью правила @use. Использование импорта в SASS Если вы хотите использовать в SASS частичные шаблоны, вы должны их вызвать в основном файле. Вы можете это сделать в SASS-файле с помощью правила @use. Например, для того, чтобы вызвать файл _font.css, вы можете написать следующее: @use ‘font’. Таким образом, вы импортируете всю информацию из частичного шаблона и сможете использовать ее в основном файле.  Использование миксинов в SASS Миксины (или примеси) – это переменные, которые используются для хранения не просто одного значения, а целых блоков кода. Стало быть, если вы хотите использовать одно и тоже оформление для нескольких элементов, вы можете использовать миксины. Для того, чтобы создать набор кода, вам понадобиться директива @mixin, а для использования кода, добавленного в миксин, - правило @include.  Ниже приведен пример миксина для оформления шрифта. Мы создадим миксин font_details и укажем в нем значения для оформления элементов в нашем HTML-коде.  Пример: SASS-код: $fs: 20px $bgcolor: #00ffff $pd: 20px 35px @mixin font_details() font-family: Georgia font-size: $fs background-color: $bgcolor #box1 @include font_details() padding: $pd Скомпилировав программу, мы получим следующий CSS-код: #box1 {   font-family: Georgio;   font-size: 20px;   background-color: #00ffff;   padding: 20px 35px; } А запустив этот код вместе с нашим HTML-кодом (см. начало), мы получим следующий результат: Кроме того, вы можете создать миксины, которые можно изменять. Для начала вы должны объявить их вместе с переменными, а определить вы их должны уже при использовании в коде. Например, наряду с миксионом font_details, мы создадим отдельные миксины h1_style и list_style с переменными и определим их при использовании кода.  Пример:  SASS-код: $fs: 20px $bgcolor: #00ffff $pd: 20px 35px @mixin font_details() font-family: Georgio font-size: $fs background-color: $bgcolor @mixin h1_style($size, $color) font-size: $size color: $color @mixin list_style($size, $font) font-size: $size font-family: $font #box1 @include font_details() padding: $pd h1   @include h1_style(30px, #ff0000) ul   @include list_style(15px, Times New Roman) Скомпилировав этот код, мы получим следующий CSS-код: #box1 {   font-family: Georgio;   font-size: 20px;   background-color: #00ffff;   padding: 20px 35px; }   #box1 h1 {     font-size: 30px;     color: #ff0000; }   #box1 ul {    font-size: 15px;     font-family: Times New Roman; } Когда мы запустим этот CSS-код вместе с нашим HTML-файлом, мы получим следующий результат: Использование наследования в SASS С помощью функции SASS @extend вы можете использовать несколько свойств для разных селекторов; выполнить это действие поможет класс placeholder (заполнитель). Этот класс будет выполняться только при наследовании. Воспользовавшись правилом @extend, вы можете наследовать любые селекторы CSS. Здесь мы рассмотрим пример наследования функций создания и оформления рамок для каждого селектора в нашем HTML-коде.  Пример:  SASS-код: // This CSS will print because we will extend it. { // Этот CSS-код будет задействован, так как мы его будем использовать. } %border_style  border: 5px solid #00ffff  padding: 25px // This CSS won't print because we will never extend it. { // Этот CSS-код не будет задействован, так как мы не будем его нигде использовать. } %wont-print  display: flex  margin: 20px body  @extend %border_style  #box1    @extend %border_style    border-color: #ff0000    h1      @extend border_style      border-color: #00ff00    ul      @extend border_style      border-color: #0000ff Этот код скомпилируется в следующий CSS-код: body, body #box1 {  border: 7px solid #00ffff;  padding: 30px; } body #box1 {  border-color: #ff0000; }  body #box1 h1 {    border-color: #00ff00; }  body #box1 ul {    border-color: #0000ff; } А запустив файл с этим CSS-кодом вместе с нашим файлом index.html, мы получим следующий результат: Использование операторов в SASS С помощью операторов SASS вы можете выполнять математические вычисления для оформления веб-страниц. Допустим, что вам нужно работать с элементом, размер которого фиксированный. В таком случае операторы, например, +, -, *, % и math.div(), помогут преобразовать пиксельные значения в проценты для того, чтобы упростить вычисления макетов.  Заключение Вы можете использовать SASS для самых разных целей. Вам нужно просто установить препроцессор, и вы сможете пользоваться всеми его возможностями. Возможно, вы уже заметили, что SASS-код идентичен CSS-коду, за исключением фигурных скобок и точек в запятой. Эта особенность делает этот код более понятным и структурированным. Использование SASS или других препроцессоров избавит вас от мучений с CSS. Однако, прежде чем переходить к работе в SASS, все же рекомендуется изучить все основы CSS, чтобы хорошо понять его концепцию. 
img
Образы Docker в работающем контейнере не обновляются автоматически. После того, как вы использовали образ для создания контейнера, он продолжает работать с этой версией даже после выхода новых выпусков. Рекомендуется запускать контейнеры из последнего образа Docker, если у вас нет особой причины использовать более старую версию. В этом руководстве вы узнаете, как обновить образ и контейнер Docker до последней версии. Обнолвение образа и контейнера Docker до последней версии Лучший способ обновить существующий контейнер c новым образом - загрузить последний образ и запустить новый контейнер с той же конфигурацией. Следуйте инструкциям ниже, чтобы обновить свой контейнер до новейшего образа Docker. Примечание. В этом руководстве используется пример запуска контейнера MySQL Docker, чтобы проиллюстрировать, как обновить образ и контейнер Docker до последней версии. Шаг 1. Проверьте текущую версию Убедитесь, что у вас устаревший образ, выведя список образов в вашей системе с помощью команды: sudo docker images Тут отображаются загруженные изображения и их теги (номера версий). В приведенном ниже примере система показывает, что она использует образ mysql версии 5.7.31. Официальные образы MySQL от Docker, перечисленные на DockerHub, показывают, что последняя версия - 8.0.21. Поэтому, если у вас есть контейнер, работающий с этим образом, лучше его обновить. Чтобы указать только определенный образ, который может быть устаревшим, используйте docker images | grep [docker_image], чтобы сузить поиск. Шаг 2. Скачайте новейший образ Загрузите более новую версию образа с помощью команды docker pull: docker pull [docker_image] По умолчанию Docker загружает последнюю версию. Чтобы убедиться в этом, вы можете добавить тег :latest. Например, чтобы получить последний образ mysql, вы должны запустить: docker pull mysql/mysql-server:latest Шаг 3. Запустите новый обновленный контейнер После того, как вы загрузили последний образ Docker, вам необходимо остановить и удалить старый контейнер. Затем создайте новый с последним образом. 1. Найдите имя запущенного контейнера с устаревшим образом, перечислив контейнеры в системе: docker ps В этом примере на выходе показан контейнер с образом mysql / mysql-server: 5.7.31. 2. Остановите и удалите существующий контейнер, чтобы вы могли запустить новый под тем же именем: docker stop [container_id] docker rm [container_id] 3. Воссоздайте контейнер с помощью команды docker run и желаемой конфигурации, используя обновленный образ Docker: docker run --name=[container_name] [options] [docker_image] Если он у вас есть, обязательно смонтируйте том Docker, назначенный ранее использовавшемуся контейнеру, чтобы обновленный контейнер имел такое же содержимое. Для этого используйте параметр -v, за которым следует путь к каталогу тома. Например, чтобы запустить обновленный контейнер MySQL, вы должны запустить: docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql 4. Вы можете проверить, обновлен ли ваш контейнер последней версией образа Docker, таким образом: sudo docker ps Таким образом, вы должны были успешно обновить свой контейнер Docker.
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59