Как Twitter использует Apache Cassandra для поддержки своей платформы социальных сетей
Опубликовано: 2022-11-17Twitter — это платформа социальной сети, которая позволяет пользователям отправлять и читать короткие сообщения, называемые «твитами». Он существует с 2006 года и с тех пор стал одной из самых популярных социальных сетей. Хотя Twitter использует некоторые системы управления реляционными базами данных (RDBMS) для определенных частей своей инфраструктуры, в основном он использует базу данных NoSQL под названием Apache Cassandra. Cassandra была разработана для обработки больших объемов данных с высокой доступностью и производительностью. Twitter использует Cassandra по нескольким причинам. Во-первых, он очень масштабируемый. Twitter может легко добавлять новые узлы Cassandra по мере роста пользовательской базы. Во-вторых, Cassandra очень доступна. Даже если один узел Cassandra выходит из строя, остальные могут компенсировать слабину. Наконец, Кассандра быстрая. Это важно для платформы социальных сетей, где пользователи ожидают обновлений в реальном времени. Таким образом, хотя Twitter использует некоторые реляционные базы данных, его основной базой данных является NoSQL. Это позволяет Twitter быстро масштабироваться и предоставлять своим пользователям быстрый и надежный опыт.
Кевин Вейл, директор по разработке продуктов Twitter, объясняет, как компания использует NoSQL, в видеоролике, опубликованном ранее в этом году. Каждый день пользователи Twitter генерируют примерно 12 петабайт данных, что соответствует примерно 4 петабайтам в год. Hadoop вместе с собственным проектом с открытым исходным кодом под названием FlockDB используется для анализа социальных данных и анализа данных. Твиттер собирает и использует всю собранную информацию для предоставления актуального контента. По словам Вейла, этот SlideShare — отличное место, чтобы узнать больше о том, как Twitter анализирует социальные графы. Twitter все еще экспериментирует с использованием Cassandra, базы данных Facebook NoSQL с открытым исходным кодом, в качестве сервиса.
MySQL был основным хранилищем данных Twitter с момента его создания, поскольку уровень сохраняемости вырос до большого количества кластеров. Twitter имеет значительное развертывание MySQL с момента своего создания. Существуют тысячи кластеров MySQL с миллионами узлов, и обслуживаются запросы в секунду.
Google Cloud предоставляет два типа служб базы данных NoSQL: Cloud Firestore, которая представляет собой базу данных, ориентированную на документы, и Cloud Object Storage, которая представляет собой систему хранения данных. Он прост в использовании и оптимизируется для небольших документов, что делает его идеальным для мобильных приложений. Документируйте базы данных, которые можно легко масштабировать, они хорошо работают и просты в использовании в облачном хранилище данных .
Технология NoSQL лежит в основе мобильного приложения Ryanair, самой загруженной авиакомпании в мире, которая обслуживает более 3 миллионов пользователей в месяц. В течение последних восьми лет Marriott использует NoSQL для запуска своей системы бронирования, которая приносит доход в размере 38 миллиардов долларов. Помимо проприетарной системы управления контентом, Presto, которую использует крупнейшее в США газетное издательство The Chronicle of Higher Education, использует NoSQL.
PostgreSQL и Cassandra — две серверные системы баз данных Instagram.
Какую базу данных использует Twitter?

Twitter использует реляционную базу данных для хранения своих твитов. Эта база данных предназначена для хранения данных в виде ряда таблиц, каждая из которых содержит информацию об определенном аспекте твитов. Например, есть таблица с информацией о пользователях, таблица с самими твитами и таблица с отношениями между пользователями.
Нам может понадобиться часть этой информации для некоторых наших услуг, например, для запроса о перенаправлении вашего запроса на определенный сервер, но это не обязательно. Если вы хотите направить свой запрос, вам не нужно знать временную метку вашего твита.
Несмотря на это, данные остаются в хранилище и обрабатываются. Нет необходимости удалять или анонимизировать информацию. Правительство не может получить доступ к нашим данным, но их можно использовать для сбора информации о вас.
Некоторые проблемы конфиденциальности возникают в результате хранения и обработки этой информации. Это также позволяет правительству отслеживать ваши перемещения и действия в первую очередь. Кроме того, это позволяет правительству получать доступ к вашей личной информации без вашего согласия.
Мы не храним текст ваших твитов. Имя и временная метка этой учетной записи — единственное, что мы храним. Мы не храним содержимое ваших твитов.
Ваши твиты не содержат никаких данных, которые мы можем хранить в них.
Мы сохраняем только имя учетной записи и отметку времени при загрузке изображения.
Преимущества использования Mysql
В прошлом Twitter использовал MySQL для хранения твитов. MySQL может обрабатывать большое количество запросов благодаря своей надежности и согласованности. Facebook использует MySQL для хранения всех своих данных социальных сетей .
Facebook использует Sql или Nosql?

Поскольку он обеспечивает гибкость моделирования данных, а MySQL был повсеместным при запуске FB, SQL использовался в качестве постоянной базы данных, а memcache — в качестве резервного кэша в первые дни существования FB.
В базе данных Facebook хранятся профили его клиентов, на долю которых приходится примерно 23% от общего числа клиентов. Фундаментальные принципы, лежащие в основе глобальной распределенной архитектуры Facebook в масштабе Интернета, применимы к широкому спектру важных для бизнеса корпоративных приложений, включая мультитенантные SaaS, и есть уроки, которые можно извлечь из лучшего понимания эволюции баз данных в Facebook. API NoSQL Graph TAO, построенный на основе версии популярной базы данных с открытым исходным кодом Mystria , является одним из API NoSQL FB. TAO разделил старые 1000 баз данных MySQL master-slave с добавлением соли вручную на тысячи сегментированных подчиненных. В результате приложение больше не использует базу данных для выполнения межсегментных транзакций и межсегментных соединений. В результате, если этот тип отработки отказа будет выполнен, последние данные будут потеряны. Поскольку все объекты и ассоциации кэшируются на одних и тех же серверах, они могут храниться в одном сегменте в течение неопределенного периода времени.
Было определено, что степень совместного размещения данных является важным методом оптимизации, используемым для максимизации задержки доступа к данным. Сообщество разработчиков отказалось от SQL в пользу пользовательского API NoSQL от TAO после того, как FB вынудил их отказаться от своего API запросов SQL. База данных Google Spanner, созданная более десяти лет назад, была создана как часть базы данных FB TAO. Модель данных Спаннера, в отличие от социального графа, была скорее традиционной рабочей нагрузкой с произвольным доступом для OLTP. Распределенные базы данных второго поколения основаны на высокой масштабируемости и глобальном распределении данных как части уровня базы данных. Spanner использует распределенный консенсус для каждого сегмента, чтобы обеспечить высокую доступность каждого сегмента (а не только каждого экземпляра) в случае отказа службы. Несмотря на то, что конфигурация кластера приложения была изменена, она остается работоспособной.

Данные, относящиеся к локальному региону, по-прежнему будут занимать первое место в списке благодаря таким функциям, как географическое разбиение на уровне таблиц и строк. Диспетчер распределенных транзакций используется в транзакциях с несколькими сегментами для управления процессом двухфазной фиксации, а также рассогласованием часов на каждом узле. Мы использовали TAO в качестве меры по сокращению затрат в FB, что позволило нам сохранить наши инвестиции в сегментированную MySQL. Google выбрал другой путь с Spanner, совершенно новой базой данных с возможностями горизонтального масштабирования, бесшовными возможностями георепликации и простотой отказа инфраструктуры.
Существует множество причин популярности баз данных NoSQL. Система использует другой подход к хранению данных, более эффективный при работе с большими объемами данных.
Базы данных NoSQL используются рядом известных компаний, включая Amazon, Netflix, Microsoft, Snapchat и Dropbox. Выбор базы данных NoSQL был одним из лучших решений, которые они когда-либо принимали, потому что их приложения обрабатывают много данных.
В результате базы данных NoSQL обеспечивают большую гибкость в том, как компании могут хранить данные. В результате улучшается организация и доступ к данным. Кроме того, базы данных NoSQL имеют то преимущество, что они быстрее обрабатывают большие объемы данных.
Для предприятий, которым необходимо хранить большой объем данных, имеет смысл рассмотреть базы данных NoSQL. Благодаря своему уникальному подходу к обработке данных они способны обрабатывать данные с большей скоростью и более эффективно.
Использует ли Twitter графическую базу данных

Твиттер хранит первичные данные, такие как графики интересов, временные шкалы и пользовательские данные, в MySql. Twitter имеет сотни схем и тысячи узлов, которые обслуживают миллионы запросов в секунду в своем крупнейшем кластере. Служба flockdb используется для вычислений графов.
Обсуждаются использование графовых баз данных , их применение к данным о COVID-19 и выбор языка для графов. После чата вы можете прочитать их мнение здесь. Примите участие в нашем твиттер-чате в 13:00 по восточному поясному времени сегодня под названием «Состояние баз данных графов в 2020 году». Мы представим несколько вопросов, которые будут использоваться для облегчения обсуждения. В прошлом было показано, что базы данных графов очень полезны. Из-за его способности соединять данные, обрабатывать огромные объемы данных и превосходно работать, он требуется всем организациям с аналитическим складом ума. Их отличает то, что они могут использоваться для подключения данных из нескольких источников, а не из баз данных.
Теперь пользователи могут использовать эти графики, чтобы извлечь выгоду из определенных функций, которые можно найти в базе данных графиков во время анализа данных. Многие новые пользователи могут познакомиться с #knowledgegraph в качестве первого варианта использования, потому что многим компаниям требуется #analytics из широкого спектра структурированных и неструктурированных источников данных. Когда дело доходит до #NLP и объединения его вывода с различными источниками, #graphdb — лучшее решение. COVID-19 будет более подробно обсуждаться во втором квартале GraphDB. # GraphDB может найти широкое применение во втором квартале в качестве решения для отслеживания контактов. В результате данные являются НЕЧЕСТНЫМИ для крупных организаций в том смысле, что информация доступна для поиска, доступа, взаимодействия и повторного использования. RDF* — это граф свойств.
Нет сомнения, что есть путаница. Федерация - интригующая тема прямо сейчас. Эти данные должны быть загружены в файл #graphdbs. Если вы смоделируете его правильно, вам не обязательно использовать RDF*. Использование науки о графовых данных для соединения и корреляции разрозненных наборов данных — отличный способ сделать это. Сегодня нет существенной разницы между RDF* и LPG. Поставщики, поддерживающие RDF, обычно поддерживают помеченные свойства, что позволяет алгоритмам графов и другим аналитическим функциям быть полностью невидимыми для предыдущих RDF.
Должен ли я использовать rdf или sparcl между моим ПК и мобильными приложениями? На самом деле, генерировать свойства из RDF не так уж сложно, но машинное обучение потенциально может генерировать триплеты из свойств в графовой СУБД #GraphDB @stevesarfield. Когда вы смотрите на онтологию, вы моделируете ее, и она следует за вами в постель. Кроме того, наши редакторы начали взаимодействовать с торговой площадкой GraphDB. Наша цель — составить исчерпывающий список лучших продуктов, доступных потребителям. Граф знаний можно создать с помощью GraphDB, объединив структурированные и неструктурированные данные, что позволяет использовать его в качестве инструмента для аналитики. Многие пользователи сочтут это началом своего пути к графовым базам данных в будущем.
В течение долгого времени FOSS был исходным кодом для проектов с открытым исходным кодом, но в будущем он может снова выйти на первый план. # GraphDB может быть лучшим способом организации всех разрозненных компонентов в экосистеме #IoT по мере их развития в организациях и экосистемах. Компании, выпускающие кредитные карты, используют GraphDB для обнаружения подозрительных моделей активности. Если вам нужно объединить несовершенные схемы с другими несовершенными источниками, использование #GraphDB может быть хорошим вариантом. Оставайтесь на связи друг с другом и будьте здоровы. Решение для базы данных GOLAP от Cambridge Semantics, AnzoGraphDB, предоставляет контекст и значение в большом масштабе в графической базе данных с массивной параллельной обработкой (MPP) в памяти. Запрос обхода графа можно масштабировать в соответствии с требованиями сложного хранилища данных и аналитики, а также он может обрабатывать большие массивы данных. Попробуйте AnzoGraphDB бесплатно, чтобы узнать, поможет ли это вам лучше управлять обширной коллекцией данных.
Как гиганты социальных сетей используют графические базы данных для улучшения своих платформ
MySQL, система управления базами данных, изначально использовалась для хранения данных Twitter. Мы перешли от небольшого экземпляра базы данных к большому экземпляру базы данных, а затем от одного большого экземпляра базы данных к другому. База данных Twitter использовалась для хранения всей информации о пользователях, что позволило ей стать одной из самых мощных социальных сетей . Компания смогла улучшить свою платформу, анализируя поведение пользователей и отслеживая их прогресс. Поисковая система Instagram изначально работала на базе Elasticsearch, поисковой системы с поддержкой социальных графов, созданной Facebook, но в конечном итоге ее заменила Unicorn. Помимо использования графовой базы данных для отслеживания взаимодействия пользователей, Instagram использует ее для отслеживания того, как пользователи связаны между собой. Instagram может улучшить взаимодействие с пользователем и предоставлять более актуальный контент, анализируя данные социальных сетей. Базы данных графов и аналитика используются Facebook, Instagram и Twitter для лучшего понимания того, как их пользователи взаимодействуют друг с другом, и для создания лучших платформ.