По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Чтобы понять NoSQL, нужно разобраться, что такое SQL и почему мы говорим ему No.
Итак, SQL (structured query language) расшифровывается как «язык структурированных запросов», и это язык запросов для управления данными в так называемых реляционных базах данных, или просто БД
В реляционных базах мы храним данные в таблицах, которые логически связаны между собой - отсюда и название - реляционные от слова relation, связь. Это один из самых популярных типов баз.
В этих таблицах есть строки и столбцы. В столбце таблицы хранится определенный тип данных, а в каждой ячейке – значение.
Строка же получается как набор связанных значений, которые относятся к одному объекту - мы видим что у крыла типа чайка длина 25 метров.
Ну и каждая строка в таблице может быть помечена каким то уникальным идентификатором, который называется первичным ключом (primary key). А затем при помощи него мы можем связать данные из нескольких таблиц, например в отдельной таблице, где он станет внешним ключом (foreign key).
В общем, как таблица в экселе, только данные могут быть связаны.
Что еще важно знать: реляционные БД требуют так называемую схему (schema) - описание структуры таблицы ее полей и ограничений. То есть если нам например нужно добавить или убрать столбец в таблице, то это изменение коснется всех данных внутри нее.
Также БД этого типа соответствуют так называемым принципам ACID (Atomicity — Атомарность, Consistency — Согласованность, Isolation — Изолированность, Durability — Надёжность), что вкратце означает, что при работе с базой, целостность и согласованность данных гарантирована, даже если возникли проблемы с сетью или железом, что полезно при работе с финансами, например.
В качестве примеров таких баз назовем: Microsoft SQL Server, Oracle Database, MySQL и PostgreSQL.
Разобрались. Теперь вернемся к NoSQL. Это тип баз данных, которые хранят данные в отличном от реляционных таблиц формате. Они узкоспециализированны для конкретных задач и нужны для улучшения производительности, масштабируемости и удобства в работе.
Базы данных "ключ-значение" (key-value)
Суть в том, что мы храним данные в таком виде: у нас есть уникальный ключ, который указывает на какое-то значение. А сама база - это совокупность этих пар. Вот так просто! Причем эти данные могут быть чем угодно, числом, строкой или даже другой парой ключ-значение потому что в отличии от реляционных баз данных они не имеют предопределенной структуры данных.
Многие БД такого типа хранят данные в памяти (RAM), в отличии от других баз, которые хранят данные на диске, что хоть и может ограничивать объем хранимых данных (хотя они требуют гораздо меньше памяти), но это обеспечивают просто невероятную скорость. Ну и раз это NoSQL то никаких сложных запросов, никаких связей друг с другом - мы просто записываем ключ и его значение, и получаем значение по ключу.
Где их использовать? Они отлично подходят для хранения кэша или пользовательских сессий. А в качестве самого простого примера можно назвать корзину в интернет магазине - где мы храним идентификатор пользователя, и сколько товаров он положил в корзину.
Самые популярные хранилки по типу “ключ - значение” это Redis, Memcached и DynamoDB.
Wide-column (columnstore базы данных, БД с широкими столбцами или колоночные БД)
Все также просто - берем key-value БД, и делаем так чтобы в значении мы могли хранить несколько столбцов сразу. Это позволяет удобно хранить связанную информацию. Похоже на реляционную БД, но только в отличии от нее, тут у нас нет схемы, поэтому мы можем хранить разные неструктурированные данные.
Такой тип БД подойдет для хранения логов, данных с умных холодильников и чайников, а также различных аналитических приложений, где данные хранятся в большом объеме. Netflix, например, хранит в таких таблицах историю просмотров пользователя.
В качестве примеров таких баз назовем Cassandra, Hbase и ClickHouse.
Базы данных документов или документориентированные БД (Document DB)
Подробнее про них можно прочитать в нашей отдельной статье.
Если предыдущие типы NoSQL БД обычно используются для специфических задач, то эти базы уже более универсальны, и могут стать основным местом хранения информации.
Здесь мы храним документы. Документ это набор нескольких пар ключ-значение, о которых мы говорили раньше, и раз это не SQL, то они неструктурированны и не требуют схему. Это значит, что мы можем легко добавлять и удалять поля в документе, в отличие от реляционных БД, где изменения затронули бы всю таблицу. Документы даже могут быть вложенными, и содержать в себе другие документы.
Данные хранятся в стандартных форматах, таких как XML, YAML и JSON. Такая форма хранения идеально подходит к объектам, которые используются в приложениях. Мы буквально сразу получаем полный объект который нам нужен, а в SQL нужно сначала приложить усилия и даже сделать несколько запросов и все собрать в необходимый вид.
Документы можно группировать друг с другом собирая их в коллекции, которые можно собирать в логическую иерархию, получая что-то по типу реляционных БД.
Это как шкаф на работе - в один ящик мы можем положить трудовые договоры, в другой - договоры с партнерами, а в третий договоры аренды.
Ничто нам не мешает сложить всё в одну кучу, но так удобнее. И вот эти ящики как раз и будут коллекциями в нашем случае. А отсутствие схемы позволяет нам положить в один ящик договоры, которые схожи логически, но имеют разную структуру внутри. Например, долгосрочный договор с сотрудником и договор с компанией. Коллекции есть не у всех БД такого типа, некоторые системы используют теги или древовидные иерархии.
Они часто используются для мобильных приложений и игр, блогов, интернет магазинов и всяких штук где у нас имеется много контента.
Самые популярные БД такого типа - MongoDB, Amazon DynamoDB, CouchDB.
Графовые БД (Graph DB)
Тут мы больше значения уделяем тому как данные связаны друг с другом, и эта БД лучше всего обрабатывает такие данные.
Тут у нас есть узлы, которые представляют данные и ребра (или соединения), которые описывают связь между этими данными. Помните как в реляционных базах мы записывали связь в отдельной таблице? Тут мы можем обойтись без нее, просто показав связь.
Такие базы просто необходимы для алгоритмов рекомендаций, социальных сетей, управления компьютерными сетями и маршрутизацией или даже обнаружения финансового мошенничества.
Самые популярные графовые базы: Neo4j и DGraph
Поисковые БД (Search-engine database)
Они, как понятно из названия, нужны для поиска данных из большого количества источников.
Работают они примерно также как и базы данных документов - мы добавляем документы с текстом внутри, а БД проанализирует весь текст в этих документах и создаст индексы для этого текста.
По сути это работает как указатели, которые ты видел в конце книги, где указывается какой-то термин и страница на которой он встречается.
И когда пользователь выполняет поиск, то сканируются только эти индексы, а не все документы в базе.
Ну и очевидно что они используются в качестве полнотекстового поиска, а также для хранения и анализа логов. Примеры - Elasticsearch, Solr, Algolia
Базы данных временных рядов (Time series database)
Это базы данных, оптимизированные для данных с отметками времени. Такое используется, для мониторинга систем, где мы храним значение времени и данные в этот момент. Например, загрузка сервера или количество подключений.
Примеры - InfluxDB и Prometheus
Многомодульные БД (multi-model)
Также существуют так называемые много-модульные БД (multi-model), которые поддерживают несколько моделей данных.
Например тот же рredis умеет и в ключ-значение, и документы с графами и даже временные данные обработает.
В наших материалах по Cisco, посвященных конфигурации сетевых устройств мы часто встречаемся со стандартными листами (списками) контроля доступа. А теперь поговорим о расширенных. Расширенные листы могут также фильтровать трафик по следующим параметрам:
IP-адреса - фильтрация на основе IP-адреса источника и адреса назначения;
Порты - фильтрация на основе порта источника / порта назначения;
Тип протокола TCP/IP - протоколы TCP, UDP, IP и так далее;
Что делать?
Для начала необходимо создать лист. Сделаем это с помощью команды:
access list NUMBER permit|deny IP_PROTOCOL SOURCE_ADDRESS WILDCARD_MASK [PROTOCOL_INFORMATION] DESTINATION_ADDRESS WILDCARD_MASK PROTOCOL_INFORMATION
Синтаксис команды следующий:
NUMBER - номер листа;
PERMIT/DENY - разрешение или запрет трафика;
SOURCE/DESTINATION ADDRESS - адреса источника и назначения;
WILDCARD_MASK - обратная маска;
PROTOCOL_INFORMATION - название или номер протокола TCP, UDP, IP и так далее;
Кстати, для расчета wildcard (обратной) маски, вы можете воспользоваться нашим калькулятором подсетей:
Калькулятор подсетей
Следующим шагом необходимо применить наш свежесозданный лист на интерфейс и его направление (на вход или выход):
ip access-group NUMBER out
Параметры in и out определяют направление, на котором будет применен лист контроля доступа
Для нумерации расширенных листов контроля доступа необходимо использовать следующую нумерацию: со 100 до 199 и с 2000 до 2699
Пример настройки (сценарий №1)
В топологии указанной ниже, нам нужно разрешить пользователям из подсети 10.0.0.0/24 доступ к серверу S2 (адрес 192.168.0.1), но не к серверу S1 (адрес 172.16.0.1/24).
Для начала, напишем ACL и разрешим доступ к серверу S2. Сделаем это мы следующей командой:
access-list 100 permit ip 10.0.0.0 0.0.0.255 192.168.0.1 0.0.0.0
Данная команда разрешает весь трафик из подсети 10.0.0.0 на хост 192.168.1.0. Затем, запретим доступ к серверу S1:
access-list 100 deny ip 10.0.0.0 0.0.0.255 172.16.0.1 0.0.0.0
Наконец, применим данные листы контроля доступа на интерфейсе R1:
int fa0/0
ip access-group 100 in
Пример настройки (сценарий №2)
Приведем иной пример использования расширенных листов контроля доступа: У нас снова есть сеть 10.0.0.0/24 и сервер S1, который слушает порт 80. Нам нужно разрешить пользователям доступ к веб-ресурсам на данном сервере, но также необходимо запретить какой-либо другой доступ, к примеру Telnet.
Для начала, нам нужно разрешить трафик из пользовательской подсети к веб-серверу на порту 80, что выполняется командой
access-list 100 permit tcp 10.0.0.0 0.0.0.255 172.16.0.1 0.0.0.0 eq 80
Используя ключевое слово TCP, мы можем фильтровать пакеты по портам источника и назначения. В примере выше, мы разрешили путь трафику из подсети 10.0.0.0 на хост 172.16.0.1 на порт 80 (веб-порт).
Теперь нужно запретить Telnet трафик из подсети 10.0.0.0 в подсеть 172.16.0.1. Для этого нужен еще один аксес-лист, на этот раз с запрещающим выражением:
access-list 100 deny tcp 10.0.0.0 0.0.0.255 172.16.0.1 0.0.0.0 eq 23
Далее, применим его на интерфейс с помощью следующих команд:
int fa0/0
ip access-group 100 in
Как мы уже описывали в предыдущей статье, в конце каждого листа всегда есть всезапрещающее правило. После применения первого правила, весь остальной трафик ходить не будет.
Сеть 5G появилась относительно недавно, но ученые сейчас во всю проводят исследования над технологией 6G! Что такое 6G? Что можно от него ждать? Давайте обсудим.
Концепция 6G
6G – стандарт мобильной связи шестого поколения, является концептуальной технологией мобильной связи беспроводной сети, также известной как технология мобильной связи шестого поколения.
Сеть 6G станет технологией с интегрированной наземной беспроводной и спутниковой связью. Благодаря интеграции спутниковой связи в мобильную связь 6G, для обеспечения непрерывного глобального покрытия, сетевые сигналы могут достигать любой удаленной деревни.
Кроме того, благодаря глобальной спутниковой системе определения местоположения, телекоммуникационной спутниковой системе, спутниковой системе получения изображений Земли и наземной сети 6G, полный охват земли и воздуха также может помочь людям прогнозировать погоду и быстро реагировать на стихийные бедствия.
Разработка 6G
В 2018 году Финляндия начала исследовать технологии, связанные с 6G.
9 марта 2018 года министр промышленности и информационных технологий Китайской Народной Республики сообщил, что Китай уже начал исследования 6G.
15 марта 2019 года Федеральная комиссия по связи США (FCC) единогласно проголосовала за принятие решения об открытии спектра «ТГц-волна» для услуг 6G.
С 24 по 26 марта 2019 года в Лапландии, Финляндия, состоялась международная конференция по 6G.
20 ноября 2019 года Всемирная конференция 5G 2019 года была проинформирована о том, что China Unicom и China Telecom начали исследование технологий, связанных с 6G.
Какие технологии понадобятся для реализации 6G?
Терагерцовая технология
6G будет использовать терагерцовый (ТГц) частотный диапазон, и «уплотнение» сетей 6G достигнет беспрецедентного уровня. К тому времени наше окружение будет заполнено небольшими базовыми станциями.
Терагерцовая полоса относится к 100 ГГц-10 ТГц, которая является полосой частот, намного превышающей 5 ГГц. От связи 1G (0,9 ГГц) до 4G (выше 1,8 ГГц) частота используемых нами беспроводных электромагнитных волн возрастает. Поскольку чем выше частота, тем больше допустимый диапазон пропускной способности и тем больше объем данных, которые могут быть переданы в единицу времени, что мы обычно просто говорим, что «скорость сети стала быстрее».
Итак, когда речь заходит о «уплотнении» сети в эпоху 6G, значит ли это что нас окружат маленькие базовые станции?
Вообще говоря, существует множество факторов, которые влияют на покрытие базовой станции, таких как частота сигнала, мощность передачи базовой станции, высота базовой станции и высота мобильного терминала. С точки зрения частоты сигнала, чем выше частота, тем короче длина волны и дифракционная способность сигнала.
Частота сигнала 6G уже находится на уровне терагерца, и эта частота близка к спектру энергетического уровня вращения молекулы, и она легко поглощается молекулами воды в воздухе, поэтому расстояние, пройденное в космосе, не так далеко от 5G, поэтому для «ретрансляции» 6G требуется больше базовых станций. Диапазон частот, используемый 5G, выше, чем 4G. Без учета других факторов покрытие базовых станций 5G, естественно, меньше, чем покрытие 4G. При более высокой полосе частот 6G охват базовых станций будет меньше.
Технология пространственного мультиплексирования
6G будет использовать «технологию пространственного мультиплексирования», базовые станции 6G смогут одновременно получать доступ к сотням или даже тысячам беспроводных соединений, а его пропускная способность будет в 1000 раз превышать пропускную способность базовых станций 5G.
Когда частота сигнала превышает 10 ГГц, его основной режим распространения больше не является дифракционным. Для линий распространения вне прямой видимости отражение и рассеяние являются основными методами распространения сигнала. В то же время, чем выше частота, тем больше потери при распространении, тем короче расстояние покрытия и слабее дифракционная способность. Эти факторы значительно увеличат сложность покрытия сигнала. 5G решает эти проблемы с помощью двух ключевых технологий, Massive MIMO и лучевого формирования. 6G расположен в более высокой полосе частот, и дальнейшее развитие MIMO, вероятно, обеспечит ключевую техническую поддержку для 6G.
Как будет выглядеть мир 6G?
Итак, когда технология 6G будет полностью развернута, как будет выглядеть мир? Можно предположить, что скорость сети будет быстрее и стабильнее. Предполагается, что в сети 6G загрузка фильмов в несколько ГБ может занять всего пару секунд на скорости в 1 Тбит/с.
Конечно, помимо того, что он быстрее 5G, он также будет в полной мере применяться в других развивающихся отраслях благодаря быстрому развитию сети. Например, умные города смогут в режиме реального времени передавать условия дорожного движения и решать проблемы пробок. Такие технологии, как AR, также станут реальностью.
Соответствующие исследования предсказывают, что в более позднюю часть эры 5G плотность сетевых подключений, создаваемых устройствами, превысит теоретический предел технологии 5G. Таким образом, ранняя стадия применения 6G заключается в расширении и углублении технологии 5G. Исходя из этого, 6G будет основываться на искусственном интеллекте, периферийных вычислениях и Интернете вещей для достижения глубокой интеграции интеллектуальных приложений и сетей, а затем для разработки виртуальной реальности, виртуальных пользователей, интеллектуальных сетей и других функций.
И, хотя отрасль возлагает большие надежды и предположения на 6G, следует признать, что исследования 6G действительно все еще находятся в зачаточном состоянии, и вся отрасль все еще находится в процессе непрерывного развития.