По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Apache Cassandra — это программное обеспечение для управления базами данных NoSQL. Организации используют его для обработки больших объемов данных распределенным способом. Популярность этого программного обеспечения возросла благодаря высокой доступности и отказоустойчивости. Для этого Cassandra перешла от концепции главных или именованных узлов к симметричным распределенным узлам P2P. Каждый узел в кластере имеет одно или несколько пространств ключей, содержащих данные. В этом руководстве вы узнаете, что такое пространство ключей, его компоненты и как создавать, изменять и удалять пространства ключей. Что такое пространство ключей в Cassandra? Пространство ключей (Keyspace) — это контейнер данных в Cassandra, похожий на базу данных в системах управления реляционными базами данных (RDMBS). Кластер имеет одно пространство ключей для каждого приложения, столько, сколько необходимо, в зависимости от требований и использования системы. Пространства ключей — это совершенно отдельные объекты, и данные, которые они содержат, не связаны друг с другом. В кластере Cassandra пространство ключей — это самый внешний объект, который определяет, как данные реплицируются на узлах. Пространства ключей состоят из основных объектов, называемых семействами столбцов (которые похожи на таблицы в СУБД), строк, индексированных по ключам, типам данных, сведениям о центре обработки данных, коэффициенту репликации и стратегии пространства ключей. Компоненты пространства ключей Cassandra Есть некоторые важные компоненты пространства ключей, которые необходимо указать при создании пространства ключей. Эти компоненты: Стратегия репликации При определении пространства ключей стратегия репликации указывает узлы, на которых будут размещены реплики. Используя несколько узлов для размещения реплик, вы достигаете отказоустойчивости, высокой доступности и надежности. Возможны две стратегии: Простая стратегия. Используйте эту стратегию для сред тестирования и разработки, а также если вы не собираетесь развертывать кластер более чем в одном центре обработки данных. Коэффициент репликации применяется ко всему кластеру. Разделитель решает, где разместить первую реплику на узле. Затем другие реплики распределяются по часовой стрелке на следующих узлах независимо от центра обработки данных или местоположения. Стратегия сетевой топологии. Эта стратегия подходит, когда вам нужно развернуть свой кластер в нескольких центрах обработки данных. Однако вы можете использовать его даже с одним центром обработки данных, чтобы впоследствии расширить его. Стратегия сетевой топологии работает как для продакшена, так и для разработки. Она имеет тенденцию размещать реплики на узлах, которые не находятся в одной стойке, чтобы избежать проблем, когда одна стойка выходит из строя. С помощью этого параметра каждый центр обработки данных может иметь отдельный коэффициент репликации. Фактор репликации Этот параметр определяет, сколько реплик строки хранить на каждом узле. Минимум должно быть две реплики на центр обработки данных. Это означает, что сбой одного узла не влияет на работу группы репликации. Поэтому рекомендуется установить три копии каждой строки на разных узлах для достижения удовлетворительной отказоустойчивости. Эмпирическое правило заключается в том, чтобы коэффициент репликации оставался таким же, как и количество узлов. Базовый синтаксис пространства ключей Вы можете создать пространство ключей с различными настройками репликации. Ниже приведен основной синтаксис для создания пространства ключей: CREATE KEYSPACE keypsace_name WITH replication = {properties}; Свойства (properties) включают в себя различные параметры, такие как стратегия репликации, коэффициент или долговременная запись. Примечание. Команды CQL заканчиваются точкой с запятой (;). Если вы не используете точку с запятой в конце запроса, система будет ждать дополнительного ввода. Создать пространство ключей с помощью Cqlsh Чтобы создать пространство ключей, запустите оболочку CQL: cqlsh Затем, следуя базовому синтаксису, создайте пространство ключей с нужным именем и настройками репликации. В этом случае мы создадим test_keyspace с SimpleStrategy и replication_factor 3: CREATE KEYSPACE test_keyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3}; Используйте приведенный выше пример, если вы не собираетесь расширяться до нескольких центров обработки данных. Кроме того, если у вас есть только один узел и вы используете Cassandra для тестирования, вы можете установить replication_factor равным 1. Для производственных сред и нескольких центров обработки данных создайте пространство ключей со стратегией репликации сетевой топологии. Для этого введите: CREATE KEYSPACE keyspace_network_topology WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3}; Имя центра обработки данных по умолчанию — datacenter1. Чтобы проверить имя вашего центра обработки данных, закройте оболочку CQL и используйте nodetool: nodetool status Если у вас несколько центров обработки данных, перечислите их все в запросе с соответствующими коэффициентами репликации. Например, запрос для двух центров обработки данных выглядит так: CREATE KEYSPACE keyspace_network_topology WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3, 'datacenter2' : 3}; Проверить ключевое пространство Поскольку в выводе нет ответа об успешном создании пространства ключей, используйте эту команду, чтобы убедиться, что пространство ключей находится в списке: DESCRIBE KEYSPACES; Система возвращает список всех доступных пространств ключей Cassandra. Мы выделили два пространства ключей, которые мы создали в приведенных выше примерах. Есть пара пространств ключей по умолчанию, которые поставляются с установкой Cassandra. Отключить устойчивую запись (Durable Writes) В Cassandra конфигурация durable_writes по умолчанию имеет значение true. Вы можете отключить его, но только для NetworkTopologyStrategy. Этот параметр сообщает Cassandra, следует ли ей использовать журнал фиксации для внесения обновлений в выбранное пространство ключей. Когда вы пытаетесь отключить durable_writes при создании пространства ключей с помощью SimpleStrategy, вы получаете предупреждение не делать этого. Причина в том, что вы можете потерять свои данные, если вы не синхронизировали данные из memtable в sstable, и ваш дата-центр выйдет из строя. Чтобы отключить durable_writes при создании пространства ключей, введите этот запрос: CREATE KEYSPACE keyspace_durwrites WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3} AND DURABLE_WRITES = false; Проверка устойчивых операций записи Вы можете проверить запрос, который использовался при создании пространства ключей, описав пространство ключей. Также появляется часть durable_writes: DESCRIBE keyspace_durwrites Чтобы проверить настройки durable_writes для всех пространств ключей, запросите system_schema: SELECT * FROM system_schema.keyspaces; В выходных данных показаны все пространства ключей и их настройки, включая durable_writes. Использование пространства ключей Чтобы выбрать пространство ключей в Cassandra и выполнить над ним действия, используйте ключевое слово USE. Синтаксис: USE keyspace_name Например: USE keyspace_durwrites; Оболочка CQL переключается на указанное вами имя пространства ключей. Чтобы изменить текущее пространство ключей, используйте ту же команду с другим именем. Примечание. Всякий раз, когда вы создаете таблицу в Cassandra, вы начинаете с определения пространства ключей. Изменить ключевое пространство После создания пространства ключей вы можете изменить конфигурацию с помощью ключевого слова ALTER. Единственное, что вы не можете изменить, это имя пространства ключей. Помимо этого, вы можете изменить стратегию репликации, коэффициент репликации и устойчивые записи. Чтобы изменить пространство ключей, следуйте тому же синтаксису, что и при его создании, но используйте ALTER вместо CREATE. Измените значения, которые вы хотите. Например: ALTER KEYSPACE keyspace_durwrites WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 2} AND DURABLE_WRITES = true; Чтобы убедиться, что изменения вступили в силу, используйте ключевое слово DESCRIBE: На изображении выше показана конфигурация пространства ключей до и после изменения. Удалить ключевое пространство Если вы отбросите ключевое пространство, оно будет удалено из системы. Ключевое слово DROP удаляет из пространства ключей все семейства столбцов, а также индексы и типы данных. Чтобы удалить пространство ключей в Cassandra, используйте этот синтаксис: DROP keyspace_name; Например: DROP keyspace_durwrites; Чтобы убедиться, что вы удалили пространство ключей, снова используйте запрос DESCRIBE. Итоги Выполнив шаги, описанные в этом руководстве, вы сможете успешно создать пространство ключей в Cassandra. Примеры в этом руководстве показали вам, как создать пространство ключей для разных сред и с разными настройками. Мы также показали вам, как изменить и удалить ключевое пространство, если вам нужно внести какие-либо изменения.
img
Многим организациям необходимо предоставлять и поддерживать большое количество удаленных офисов. Например: Розничные сети могут иметь сотни или даже тысячи магазинов по всему миру. Региональный банк может иметь сотни отделений и тысячи банкоматов. Когда поставщики услуг фиксированной частной телефонной связи предлагали свои услуги в любом масштабе, такого рода проблемы решались с помощью large-scale и hub-and-spoke сетей. На рисунке показана hub-and-spoke сеть. Сеть, показанная на рисунке выше, на самом деле довольно мала: три узла в центре удаленных сайтов могут представлять сотни или тысячи дополнительных узлов. Во многих реализациях (особенно старых) каналы связи между двумя маршрутизаторами-концентраторами, A и B, и удаленными устройствами, такими как C и N, являются двухточечными. Это означает, что на концентраторе-маршрутизаторе должен быть настроен интерфейс для каждого удаленного маршрутизатора, фильтры маршрутизации, фильтры пакетов и любые конфигурации Quality of Service. Это не только серьезная проблема с точки зрения конфигурации, но также трудно поддерживать тысячи отдельных соседей с точки зрения использования процессора и памяти. Чтобы уменьшить объем вычислительной мощности, необходимой для обслуживания такой сети, протоколы были изменены, чтобы исключить обработку удаленных узлов, как если бы они были частью дерева. Вместо этого, эти модификации позволили рассматривать эти удаленные узлы, как если бы они были выходными или тупиковыми сетями. Еще одним шагом на пути к упрощению создания таких сетей и управления ими было использование интерфейса point-to-multipoint (с соответствующей базовой технологией, такой как Frame Relay) на концентраторах-маршрутизаторах. Когда соединения с удаленными узлами настроены как point-to-multipoint, концентраторы-маршрутизаторы A и B обрабатывают все периферийные устройства так, как если бы они находились в одном сегменте широковещательной передачи (фактически, как сегмент Ethernet). Однако каждый spoke маршрутизатор по-прежнему рассматривает свое соединение с маршрутизаторами-концентраторами как соединение point-to-point. Даже с этими модификациями создание и обслуживание таких больших сетей все еще очень сложно. Необходимо проложить каналы на каждый удаленный узел и управлять ими, необходимо настроить удаленное оборудование и управлять им, необходимо управлять конфигурацией маршрутизаторов-концентраторов и т. д. Программно-определяемые глобальные сети (SD-WAN) изначально были разработаны для решения этой конкретной задачи. Идея DMVPN, зародившаяся в Dynamic Multipoint Virtual Private Network (DMVPN) от Cisco, заключалась в использовании туннелируемой оверлейной сети, работающей поверх общедоступного Интернета. Это позволило удаленным узлам использовать локально доступное подключение к Интернету, а не покупать канал для каждого узла, а также сократить время настройки и обслуживания за счет автоконфигурации и других инструментов. SD-WAN - это еще один шаг вперед в концепции сети over-the-top. Решение SDWAN обычно строится с использованием нескольких компонентов: Специализированное устройство или виртуализированная служба для замены маршрутизаторов, обычно размещаемых в центральных и оконечных точках. Модифицированная версия стандартного протокола маршрутизации для обеспечения доступности (и, возможно, одного из показателей жизнеспособности цепи) и передачи политик по сети. Реализация либо IP-безопасности (IPsec), либо безопасности транспортного уровня (TLS) для обеспечения безопасной туннельной передачи между оконечными устройствами. Контроллер для мониторинга состояния каждого виртуального канала, приложений, использующих канал, и количества полезной пропускной способности по сравнению с объемом трафика, а также для динамической корректировки потока трафика и параметров QoS для оптимизации работы приложений в over-the-top сети виртуальной сети. Есть много разных способов реализации SD-WAN, например: SD-WAN может заменить "последнюю милю". Вместо того чтобы устанавливать схему на каждом удаленном узле, вы можете использовать решения SD-WAN для достижения точки обмена или коллокации, а затем передавать трафик через более традиционную службу через провайдера обратно к маршрутизаторам-концентраторам (это форма backhaul). SD-WAN может заменить весь путь от сети организации до удаленных узлов. SD-WAN можно использовать для привлечения трафика в облачную службу, где может быть выполнена некоторая предварительная обработка или развернуты некоторые приложения, причем только трафик, который должен быть перенесен в сеть организации, переносится остальная часть пути в маршрутизаторы-концентраторы. Существуют компромиссы с SD-WAN и другими передовыми решениями, как и с любой другой сетевой технологией. Например, передача трафика корпоративного удаленного узла через "обычное" публичное интернет-соединение (или пару услуг, или какую-то другую услугу, завершенную Ethernet) может быть "достаточно хорошей" в некоторых ситуациях, но провайдеры, как правило, лучше относятся к трафику в более дорогих услугах (что вполне естественно), особенно при отключениях.
img
Под телефонными (VoIP) кодеками понимаются различные математические модели используемые для цифрового кодирования и компрессирования (сжатия) аудио информации. Многие из современных кодеков используют особенности восприятия человеческим мозгом неполной информации: алгоритмы голосового сжатия пользуются этими особенностями, вследствие чего не полностью услышанная информация полностью интерпретируется головным мозгом. Основным смыслом таких кодеков является сохранение баланса между эффективностью передачи данных и их качеством. Изначально, термин кодек происходил от сочетания слов КОДирование/ДЕКодирование, то есть устройств, которые преобразовывали аналог в цифровую форму. В современном мире телекоммуникаций, слово кодек скорее берет начало от сочетания КОмпрессия/ДЕКомпрессия. Перед тем как начать подробный рассказ про различные кодеки, мы составили таблицу со краткой сравнительной характеристикой современных кодеков: Кодек Скорость передачи, Кб/сек. Лицензирование G.711 64 Кб/сек. Нет G.726 16, 24, 32 или 40 Кб/ сек. Нет G.729А 8 Кб/ сек. Да GSM 13 Кб/ сек. Нет iLBC 13.3 Кб/ сек. (30 мс фрейма); 15.2 Кб/ сек. (20 мс фрейма) Нет Speex Диапазон от 2.15 до 22.4 Кб/ сек. Нет G.722 64 Кб/сек. Нет G.711 Кодек G.711 это самый базовый кодек ТфОП (PSTN). В рамках данного кодека используется импульсно-кодовая модуляция PCM. Всего в мире используется 2 метода компандирования (усиления сигнала) G.711: µ – закон в Северной Америке и A – закон в остальной части мира. Данный кодек передает 8 – битное слово 8 000 раз в секунду. Если умножить 8 на 8 000, то получим 64 000 бит – то есть 64 Кб/с, скорость потока, создаваемого G.711. Многие люди скажут, что G.711 это кодек, в котором отсутствует компрессирование (сжатие), но это не совсем так: сам по себе процесс компандирования является одной из форм компрессирования. Все мировые кодеки «выросли» на базе G.711. Важная особенность G.711 в том, что он минимально загружает процессор машины, на которой он запущен. G.726 Этот кодек использовался некоторое время, став заменой для G.721, который на тот момент устарел, и является одним из первых кодеков с алгоритмом компрессии. Он так же известен как кодек с адаптивной импульсно-кодовой модуляции (Adaptive Differential Pulse-Code Modulation, ADPCM) и может использовать несколько скоростей потока передачи. Наиболее распространенные скорости передачи это 16, 24 и 32 Кб/сек. Кодек G.726 почти идентичен G.711 – единственным отличием является то, что он использует половину полосы пропускания. Это достигается путем того, что вместо отправки полного результата квантования, он отправляет только разницу между двумя последними измерениями. В 1990 году от кодека практически отказались, так как он не мог работать с факсимильными сигналами и модемами. Но в наше время, из – за своей экономии полосы пропускания и ресурсов центрального процессора у него есть все шансы вновь стать популярные кодеком в современных сетях. G.729A Учитывая то, какую малую полосу пропускания использует G.729A, всего 8 Кб/сек., он обеспечивает превосходное качество связи. Это достигается за счет использования сопряженной структуры с управляемым алгебраическим кодом и линейным предсказанием (Conjugate-Structure Algebraic-Code-Excited Linear Prediction, CS-ACELP). По причине патента, использование данного кодека является коммерческим; однако это не мешает кодеку G.729A быть популярным в различных корпоративных сетях и телефонных системах. Для достижения такой высокой степени сжатия, G.729A активно задействует мощности процессора (CPU). GSM Кодек для глобального стандарта цифровой мобильной сотовой связи (Global System for Mobile Communications, GSM) не обременен лицензированием, как его аналог G.729A, но предлагает высокое качество и умеренную нагрузку на процессор при использовании 13 Кб/сек. полосы пропускания. Эксперты считают, что качество GSM несколько ниже чем G.729A. iLBC Кодек iLBC (Internet Low Bitrate Codec) сочетает в себе низкое использование полосы пропускания и высокого качества. Данный кодек идеально подходит для поддержания высокого качества связи в сетях с потерями пакетов. iLBC не так популярен как кодеки стандартов ITU и поэтому, может быть не совместим с популярными IP – телефонами и IP – АТС. Инженерный совет Интернета (IETF) выпустил RFC 3951 и 3952 в поддержку кодека iLBC. Internet Low Bitrate кодек использует сложные алгоритмы для достижения высокого показателя сжатия, поэтому, весьма ощутимо загружает процессор. В настоящий момент iLBC используется бесплатно, но владелец этого кодека, Global IP Sound (GIPS), обязует уведомлять пользователей о намерении коммерческого использования этого кодека. Кодек iLBC работает на скорости в 13.3 Кб/сек. с фреймами в 30 мс, и на скорости 15.2 кб/сек. с фреймами в 20 мс. Speex Кодек Speex относится к семейству кодеков переменной скорости (variable-bitrate, VBR), что означает возможность кодека динамически менять скорость передачи битов в зависимости от статуса производительности сети передачи. Этот кодек предлагается в широкополосных и узкополосных модификациях, в зависимости от требования к качеству. Speex полностью бесплатный и распространяется под программной лицензией университета Беркли (Berkeley Software Distribution license, BSD). Кодек работает на диапазонах от 2.15 до 22.4 Кб/сек. в рамках переменного битрейта. G.722 G.722 является стандартом ITU-T (International Telecommunication Union - Telecommunication sector) и впервые опубликован в 1988 году. Кодек G.722 позволяет обеспечить качество, не ниже G.711 что делает его привлекательным для современных VoIP разработчиков. В настоящий момент патент на G.722 не действителен, и этот кодек является полностью бесплатным.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59