|
|
| |||
|
|
| |||
|
|
| |||
|
|
|
Нижегородская государственная областная детская библиотека — одна из 100 лучших в России
2015-05-07T10:51:01+03:00
2015-05-07T10:51:01+03:00
https://pravda-nn.ru/news/nizhegorodskaya-gosudarstvennaya-oblastnaya-detskaya-biblioteka-odna-iz-100-luchshih-v-rossii/
Нижегородская государственная областная детская библиотека — одна из 100 лучших в России
https://pravda-nn.ru/wp-content/themes/pravda_nn/img/placeholder_1.jpg
Нижегородская правда
https://pravda-nn.ru/wp-content/themes/pravda_nn/img/NP-logo.png
Нижегородская правда
https://pravda-nn.ru/wp-content/themes/pravda_nn/img/NP-logo.png
Нижегородская государственная областная детская библиотека стала лауреатом конкурса «100 лучших библиотек России» и получила диплом и золотую медаль — одну из самых значимых общественных наград в Российской Федерации.Результаты конкурса были объявлены на Всероссийском форуме «Библиотека будущего. Проблемы и перспективы развития» в Санкт-Петербурге. Директору библиотеки, Наталье Ивановне Бочкаревой был вручен почетный знак «Директор года». Оценивал деятельность библиотек независимый общественный совет конкурса. Председателем совета стал Виктор Шудегов — заместитель председателя Комитета Государственной Думы Российской Федерации по образованию, доктор физико-математических наук, профессор, заслуженный деятель науки России, академик РАЕН. Сопредседателем — Валерий Черешнев, председатель Комитета Государственной Думы РФ по науке и наукоемким технологиям, доктор медицинских наук, профессор, академик РАН. Библиотеки — претенденты на победу в финале рассматривались жюри конкурса с самых разнообразных позиций. Анализировалось выполнение государственного заказа, участие библиотек во Всероссийских акциях, авторские проекты, работа с различными социальными группами читателей и используемыми технологиями по сохранению книжных фондов. Основными источниками информации были официальные сайты библиотек. По ним члены совета судили, насколько публична деятельность учреждения, востребованы ли региональным сообществом мероприятия, организуемые библиотекой, и каким авторитетом она пользуется в регионе.
Слово библиотекарям: «Книги всякие нужны, книги всякие важны…»
ЕВ:
АС: Нет, наверное, это общие тенденции, но в последнее время, во всяком случае у нас, ситуация стала меняться. Мы видим это на своей библиотеке. У нас 28 тысяч активных читателей, а проблема существует в нескольких аспектах. Во-первых, это семья. Если вы хотите, чтобы в семье читали, надо читать самим, и лучше примера нет. Если ребенок видит родителя с книжкой, то он тоже будет читать. Может быть, не сразу, но в детстве ему нужно много читать, чтобы было интересно. И всячески заинтересовывать какими-то хорошими образцами литературы.
Второй момент – это через библиотеку. Например, наша библиотека занимается продвижением книги и чтения. Библиотекари в курсе той литературы для детей, которую можно рекомендовать, чтобы это было интересно и с пользой. А еще, в библиотеке мы стараемся как-то использовать те любимые занятия детей с компьютерами и так далее. Например, мы оформляем книжные выставки с мониторами, на мониторе идет презентация, и хоть так ребенок, может быть, заинтересуется и книгами тоже.
Кстати, мы используем американские методы работы с книгой: у нас в художественном отделе — постоянно действующая выставка под названием «Кот в мешке». Это когда книга обернута в красивую бумагу, но непонятно, что там за книга. Конечно, библиотекари предлагают самую хорошую литературу. Ребенку интересно взять неизвестно что, только дома развернуть, почитать и потом написать рецензию на эту книгу. Это те, кто приходят в библиотеку, а сейчас к нам приходят очень много, поскольку мы стараемся нарушить общее представление о библиотеке и сделать ее центром культуры, центром общения, центром интересных событий. Недавно походила «Библионочь», и за вечер с пяти до 22 у нас побывало 1,5 тысячи людей. Родители даже с грудными детьми всей семьей приходят в библиотеку, все это происходит на фоне книги, с книгой или по книге. Там проходят какие-то мастер-классы и даже танцы, но это все в библиотеке, и мы стараемся выставить интересную литературу, которая привлечет внимание.
Третий аспект — это государственный аспект. Если на государственном уровне идет поддержка библиотек, книгоиздателей, торговых домов книги, если есть такая политика приобщения детей к чтению, то тогда эту проблему можно переломить.
ЕВ: Вообще, я подумала о библиотеке и меня охватила ностальгия, потому что, конечно, в детстве и в юности все ходили в библиотеку. Я думаю, что некоторые дети вообще даже не знают, что существуют библиотеки, и даже взрослые предпочитают читать, скажем, на компьютере. Как Вы думаете, неважно, где человек читает? Живую книгу он держит в руках или на экране?
АС: Мне кажется, это неважно, главное – читать. Эта потребность к постоянному чтению, пусть даже это электронная книга или просто монитор компьютера, это все равно чтение. Такая жизнь, такое время.
ЕВ: Я вспоминаю, с каким удовольствием у нас дома и, наверное, у Вас проходили семейные чтения, когда по очереди – я, муж или дочка – читали какую-то книгу. Мы сидели и слушали. Существует еще такое или все настолько замотанные и занятые, что родителям не до того?
АС: Очень многие наши читатели занимаются семейным чтением. У нас даже есть такой семейный клуб, который называется «Семейная светелка», и там по выходным дням приходит достаточно интересный библиотекарь и придумывает интересные действия с книжками. Они все там читают, у нас очень много активных родителей, и мы таким образом тоже пытаемся возродить семейное чтение.
ЕВ: А сейчас какого качества выпускаются детские книги? Есть ли новая качественная литература для детей?
АС: Конечно, есть и, кстати, к нам в библиотеку очень часто приезжают российские писатели очень высокого уровня. Сейчас просто есть такая проблема: родители читали одну литературу, а детям сейчас интересна другая. И поэтому родителям очень важно, например, обращаться в библиотеку, к специалистам, которые им посоветуют в этом вот широком огромном книжном мире выбрать не просто красивую книгу, а их сейчас полно: книжка-подушка, книжка-игрушка, какие-то еще, где они поют, играют, звуки издают, какие-то типа квестов по страницам этих книг, можно все пощупать руками, но это не самое главное. Все-таки главное – это содержание. Вот библиотекари как раз изучают детскую литературу, они ее просматривают, они ее рецензируют и рекомендуют.
АЭТП сделала подарок юным нижегородцам к весенним каникулам
21-22 марта 2014 года нижегородскую землю посетил известный детский писатель Михаил Есеновский. Его встречи с юными читателями Нижнего Новгорода, Городца и Заволжья были приурочены к открытию ежегодной «Недели детской книги».
Мероприятие организовано Ассоциацией Электронных Торговых Площадок (АЭТП) при поддержке ФКУ «Налог-Сервис» Федеральной Налоговой Службы России и Администрации Городецкого муниципального района Нижегородской области. Генеральным информационным спонсором выступил: Электронный журнал «Citizen.Seldon».21 марта Михаил Есеновский встретился с юными читателями Нижегородской государственной областной детской библиотеки, затем принял участие в торжественном открытии «Недели детской книги», которое состоялось в ТЮЗе. Здесь Михаил Есеновский вручил экземпляры своей новой книги «Луна за Диваном» лучшим читателям Нижегородской области. Вечером того же дня все желающие нижегородцы смогли встретиться с писателям в Никольском просветительском центре, где, в ходе полуторачасовой встречи, автор читал свои произведения, отвечал на многочисленные вопросы и даже рассказал несколько еще не опубликованных стихотворений.
На следующий день визит продолжился в Городце, где Есеновского ждали воспитанники Городецкого детского дома и читатели Центральной библиотеки города, а также книголюбы Центральной библиотеки Заволжья.
«Уже несколько лет мы с партнёрами принимаем активное участие в неделе детской и юношеской книги. Если жизнь это дорога, то она, безусловно, легче и разнообразнее, если на пути происходят встречи с талантливыми и интересными людьми. А встречи с писателями и поэтами для детей особенно важны, ведь именно в этот период жизни наиболее активно развивается творческое мышление, формируются основы эвристической деятельности. Мы уверены, что способность к инновациям закладывается именно из встреч с хорошими книгами и их авторами. Лауреат премии имени К.Чуковского за 2013-й год, поэт и писатель Михаил Есеновский – исключительно яркий и самобытный автор. Парадоксальность поэтических приёмов, тонкий лиризм прозы и деликатный юмор отличают его книги, что в свою очередь по достоинству ценят дети. Приглашением замечательного московского автора к нижегородским книголюбам мы хотели внести свой скромный вклад в отмечаемый ныне Год русской культуры», — отметил руководитель проекта, директор по связям с общественностью АЭТП Роман Гоголев.
Проект «Неделя детской книги» стартовал для АЭТП в 2009 году, когда отмечалась 200-летняя годовщина со дня рождения Николая Васильевича Гоголя. Тогда с маленькими читателями встретился и рассказал о своей книге «Ярмарочный мальчик» московский писатель Юрий Нечипоренко. В 2010 году в Нижний Новгород на встречу с детворой приехали Ксения Драгунская и Александр Дорофеев. В 2011 году Ассоциация Электронных Торговых Площадок принимала участие в литературном проекте московского издательства «Art House Media» — «АртХаус для взрослых и детей», в рамках которого в Нижнем Новгороде прошла презентация книжной серии «Для взрослых и детей», а также встреча с писателями Львом Яковлевым, Юрием Нечипоренко и Александром Торопцевым. В прошлом году с юными любителями детской литературы встретился Сергей Георгиев.
Примечательно, что после каждой встречи с писателями, благодаря спонсорской поддержке от АЭТП библиотечные фонды пополняются новыми детскими книгами с автографами авторов.
Для справки:
Михаил Юрьевич Есеновский — русский детский писатель, поэт.
Родился в Москве 15 октября 1960 года. Окончил Московский государственный технический университет и аспирантуру. Преподавал в школе и университете.
Публикуется с 1993 года, первая публикация в журнале «Огонёк». Автор ряда книг для детей, в частности, цикла коротких ироничных и абсурдистcких рассказов про мальчика Юру, напоминающих прозу Даниила Хармса, стихов-бутербродов и научного труда «Периодический закон элементов питания М.Ю.Есеновского и его историческое значение».
В 2009 году его книга «Главный шпионский вопрос» с иллюстрациями Натальи Корсунской стала победителем конкурса «Книга года» в номинации «Лучшая детская книга».
Михаил Есеновский — лауреат премии Корнея Чуковского за 2013 год в номинации «За развитие новаторских традиций в детской литературе», а книга «Луна за диваном» только что стала одним из победителей проекта «Книга года-2013: выбирают дети» в категории «Выбор детей 7-9 классов».
Михаил Есеновский был главным редактором журнала «Колобок и Два Жирафа», в настоящее время — редактор журнала «GEOлёнок».
Контакты
Учредитель:
МИНИСТЕРСТВО КУЛЬТУРЫ РОССИЙСКОЙ ФЕДЕРАЦИИ
Адрес юридический и фактический:
федеральное государственное бюджетное образовательное учреждение высшего образования «Нижегородская государственная консерватория им. М.И. Глинки»
603005, г. Нижний Новгород, ул. Пискунова, 40
Адрес почтовый (для корреспонденции):
603950, ГСП-30 г. Нижний Новгород, ул. Пискунова, 40
Официальный сайт Нижегородской консерватории:
nnovcons.ru
Страницы в социальных сетях:
https://vk.com/nnovcons — официальное сообщество ВКонтакте
https://vk.com/studentam_nngk — официальная страница Студенческого совета ННГК
https://vk.com/nnovcons_afisha — концертная афиша консерватории
https://www.facebook.com/nnovcons — официальное сообщество Facebook
Режим работы консерватории:
Ежедневно с 7.00 до 22.00
в выходные и праздничные дни — с 8.00 до 20.00
Касса (по продаже билетов на концерты)
Киоск (по продаже печатной продукции)
Работа с обращениями граждан
Контакты:
Ректорат:(831) — 419-40-15 (факс)
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Проректор по учебной работе:
(831) — 419-40-46
[email protected]
Режим работы: пн-пт с 10.00 до 17.30
Проректор по молодежной политике и развитию:
(831) — 419-40-23
[email protected]
Режим работы: пн-пт с 10.00 до 17.30
Проректор по научной работе:
(831) — 419-40-56
[email protected]
Режим работы: пн-пт с 10.00 до 17.30
Проректор по АХЧ:
(831) — 419-40-59
[email protected]
Режим работы: пн-пт с 10.00 до 17.30
Приемная комиссия:
с 1 сентября по 19 июня — (831) — 419-40-66
с 20 июня по 30 августа — (831) — 411-88-78
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Бухгалтерия:
(831) — 436-11-51
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Деканат:
(831) — 419-40-66
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 13.00-13.30
Зам. декана по аспирантуре и ассистентуре-стажировке:
(831) — 419-40-58
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Центр дополнительного образования и ПК:
(831) — 419-43-44
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Содействие трудоустройству выпускников:
(831) — 419-40-15
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Концертный отдел:
(831) — 419-43-45
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Издательский отдел:
(831) — 436-09-95
[email protected] — оказание издательских услуг
[email protected] — приобретение изданий
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Административно-хозяйственная часть:
(831) — 419-40-51
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Отдел ТСО:
(831) — 436-07-65
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Студия звукозаписи:
(831) — 436-07-65
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Учебный отдел:
(831) — 419-40-58
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Библиотека:
(831) — 411-88-78
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Международный отдел:
(831) — 436-09-95
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Юридическая служба:
(831) — 419-83-83
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Отдел кадров:
(831) — 436-09-94
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Общежитие консерватории:
(831) — 432-25-72
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Администратор сайта:
[email protected]
Режим работы: пн-пт с 09.00 до 17.30, перерыв на обед 12.00-12.30
Все персональные данные опубликованы на сайте в соответствии с нормативными актами Министерства образования и науки РФ, Министерства культуры РФ, Федеральным законом «О персональных данных» от 27.07.2006 N 152-ФЗ, а также внутренними локальными актами
Проезд от Московского вокзала до остановки «Площадь Минина и Пожарского»:
Автобусы: 71, 95, 3, 92
Маршрутные такси: 47.
До остановки «Академия водного транспорта»:
Автобусы: 19, 90
Маршрутные такси: 74, 40, 45
Федеральное государственное бюджетное образовательное учреждение высшего образования «Нижегородская государственная консерватория им. М.И. Глинки»
603005, г. Н. Новгород, ул. Пискунова, д. 40
ИНН 5260038527 КПП 526001001
Расчётный счёт: 40102810745370000024
Банк: Волго-Вятское ГУ Банка России // УФК по Нижегородской области г. Нижний Новгород
БИК банка: 012202102
Казначейский счёт: 03214643000000013200
Получатель платежа: УФК по Нижегородской области (Нижегородская государственная консерватория им. М.И. Глинки л/с 20326Х06420)
КБК 00000000000000000130
Внимание!
Код бюджетной квалификации (КБК) используется:
00000000000000000130 — для оплаты за услуги обучения, проживания в общежитии, звуко- и видеозаписи, издательской и концертной деятельности;
00000000000000000440 — для оплаты книг, журналов и прочей печатной продукции.
Аутентификация Facebook — область MongoDB
Область MongoDB> Пользователи и аутентификация> Провайдеры аутентификации
Провайдер аутентификации Facebook позволяет пользователям входить в систему с их существующей учетной записью Facebook через спутника Приложение Facebook. Когда пользователь входит в систему, Facebook предоставляет Область MongoDB с токеном доступа OAuth 2.0 для Пользователь. Realm использует токен для идентификации пользователя и получать доступ к утвержденным данным из Facebook API от их имени. Для получения дополнительной информации о входе в Facebook см. Вход в Facebook. для приложений.
Провайдер аутентификации Facebook имеет следующую конфигурацию варианты:
Поле | Описание | |
---|---|---|
Обязательно. Идентификатор приложения Facebook. См. Раздел Настройка приложения Facebook для получения информации о настройке запустите приложение Facebook и найдите идентификатор приложения. | ||
Client Secret secret_config.clientSecret | Обязательно.Имя секрета, который хранит Секрет приложения Facebook. См. Раздел Настройка приложения Facebook для получения информации о настройке запустите приложение Facebook и найдите секрет приложения. | |
Поля метаданных metadata_fields | Необязательно. Список полей, описывающих аутентифицированного пользователя, который ваше приложение будет запрашивать у Facebook Graph API. Все поля метаданных по умолчанию опущены и могут быть требуется для каждого поля.Пользователи должны явным образом предоставьте своему приложению разрешение на доступ к каждому Обязательное поле. Если требуется поле метаданных и существует для конкретного пользователя, он будет включен в их пользовательский объект. Требовать поле метаданных при импорте / экспорте
файл конфигурации, добавьте запись для поля в
массив | |
URI перенаправления redirect_uris | Требуется для веб-приложений.Список разрешенных URI перенаправления. После того, как пользователь завершит процесс аутентификации на Facebook, Realm перенаправляет их обратно на указанный URI перенаправления или, если URI перенаправления не указан URL-адрес, по которому они инициировали запрос аутентификации от. Realm будет только перенаправлять пользователя к URI, который точно соответствует записи в этом список, включая протокол и любые конечные косые черты. | |
Ограничения домена domain_restrictions | Необязательно.Список одобренных доменов для учетных записей пользователей. Если указано, провайдер проверяет домен основной адрес электронной почты пользователя на Facebook и только позволяет им аутентифицироваться, если домен соответствует запись в этом списке. Например, если Если вы указали какие-либо ограничения домена, вы также необходимо указать адрес электронной почты в поле Настройка полей метаданных. |
Провайдеру аутентификации Facebook требуется Facebook приложение для управления аутентификация и права пользователей. Следующие шаги пройти через создание приложения, настройку входа в Facebook, и настройка провайдера для подключения к приложению.
На панели инструментов приложения найдите Facebook Карточка входа и нажмите «Настроить».Вы должны увидеть список руководства по быстрому запуску для каждой платформы. Следуйте руководству для вашего платформа для включения входа в Facebook.
Веб-приложения Realm не требуют установки Facebook SDK для использования поставщика аутентификации Facebook. Если ты включение входа через Facebook в веб-приложение, которое можно пропустить любые шаги в кратком руководстве, связанные с настройкой Facebook SDK для JavaScript.
Когда пользователь завершает процесс входа в ваше приложение Facebook, ему необходимо для перенаправления обратно в Realm.Вход в Facebook позволит только пользователям для перенаправления на предварительно утвержденный список URI.
На странице входа в Facebook> Настройки добавьте область URL-адрес обратного вызова аутентификации, соответствующий развертыванию регион вашего приложения в список допустимых URI перенаправления OAuth. В следующей таблице перечислены URL-адреса обратного вызова для каждого региона:
Регион | URL-адрес обратного вызова проверки подлинности области | |
---|---|---|
| ||
| ||
| ||
| ||
| ||
| ||
Сингапур ( | | |
|
Чтобы подключить приложение Facebook к Realm, найдите свое приложение Facebook Значения идентификатора приложения и секрета приложения на Настройки> Основная страница и добавьте их в свою аутентификацию. конфигурация провайдера.
Примеры кода, демонстрирующие, как зарегистрироваться и войти в систему с помощью Аутентификация Facebook, см. Документацию для Realm SDK:
Оставить отзыв
Безопасность | Стеклянная дверь
Мы получаем подозрительную активность от вас или кого-то, кто пользуется вашей интернет-сетью. Подождите, пока мы подтвердим, что вы настоящий человек. Ваш контент появится в ближайшее время. Если вы продолжаете видеть это сообщение, напишите нам чтобы сообщить нам, что у вас возникли проблемы.
Nous aider à garder Glassdoor sécurisée
Nous avons reçu des activités suspectes venant de quelqu’un utilisant votre réseau internet. Подвеска Veuillez Patient que nous vérifions que vous êtes une vraie personne. Вотре содержание apparaîtra bientôt. Si vous continuez à voir ce message, veuillez envoyer un электронная почта à pour nous informer du désagrément.
Unterstützen Sie uns beim Schutz von Glassdoor
Wir haben einige verdächtige Aktivitäten von Ihnen oder von jemandem, der in ihrem Интернет-Netzwerk angemeldet ist, festgestellt.Bitte warten Sie, während wir überprüfen, ob Sie ein Mensch und kein Bot sind. Ihr Inhalt wird в Kürze angezeigt. Wenn Sie weiterhin diese Meldung erhalten, informieren Sie uns darüber bitte по электронной почте: .
We hebben verdachte activiteiten waargenomen op Glassdoor van iemand of iemand die uw internet netwerk deelt. Een momentje geduld totdat, мы узнали, что u daadwerkelijk een persoon bent. Uw bijdrage zal spoedig te zien zijn. Als u deze melding blijft zien, электронная почта: om ons te laten weten dat uw проблема zich nog steeds voordoet.
Hemos estado detectando actividad sospechosa tuya o de alguien con quien compare tu red de Internet. Эспера mientras verificamos que eres una persona real. Tu contenido se mostrará en breve. Si Continúas recibiendo este mensaje, envía un correo electrónico a para informarnos de que tienes problemas.
Hemos estado percibiendo actividad sospechosa de ti o de alguien con quien compare tu red de Internet. Эспера mientras verificamos que eres una persona real.Tu contenido se mostrará en breve. Si Continúas recibiendo este mensaje, envía un correo electrónico a para hacernos saber que estás teniendo problemas.
Temos Recebido algumas atividades suspeitas de voiceê ou de alguém que esteja usando a mesma rede. Aguarde enquanto confirmamos que Você é Uma Pessoa de Verdade. Сеу контексто апаресера эм бреве. Caso продолжить Recebendo esta mensagem, envie um email para пункт нет informar sobre o проблема.
Abbiamo notato alcune attività sospette da parte tua o di una persona che condivide la tua rete Internet.Attendi mentre verifichiamo Che sei una persona reale. Il tuo contenuto verrà visualizzato a breve. Secontini visualizzare questo messaggio, invia un’e-mail all’indirizzo per informarci del проблема.
Пожалуйста, включите куки и перезагрузите страницу.
Это автоматический процесс. Ваш браузер в ближайшее время перенаправит вас на запрошенный контент.
Подождите до 5 секунд…
Перенаправление…
Заводское обозначение: CF-102 / 6773f5d4bce80c42.
Автоматическая непрерывная репликация Facebook в MongoDB
Постоянно работающие приложения полагаются на возможности автоматического переключения при отказе и доступ к данным в реальном времени.CData Sync интегрирует живые данные Facebook в ваш экземпляр MongoDB, позволяя консолидировать все ваши данные в одном месте для архивирования, отчетности, аналитики, машинного обучения, искусственного интеллекта и многого другого.
Настройте MongoDB в качестве места назначения репликации
Используя CData Sync, вы можете реплицировать данные Facebook в MongoDB. Чтобы добавить место назначения репликации, перейдите на вкладку «Подключения».
- Щелкните Добавить соединение.
- Выберите MongoDB в качестве места назначения.
- Введите необходимые свойства подключения. Чтобы подключиться к MongoDB, установите следующее:
- Сервер : укажите имя или адрес сервера, на котором работает ваш экземпляр MongoDB. Вы можете указать порт здесь или в Порт .
- База данных : Установите для базы данных, из которой вы хотите читать и писать.
Подключение к CosmosDB с помощью MongoDB API
Чтобы получить строку подключения, необходимую для подключения к учетной записи Cosmos DB с помощью API MongoDB, войдите на портал Azure, выберите Azure Cosmos DB и выберите свою учетную запись.В разделе «Параметры» щелкните «Строка подключения» и установите следующие значения.
- Сервер : Установите здесь значение Хоста, полное доменное имя сервера, предоставленного для вашей учетной записи. Вы также можете указать порт здесь или в Порт .
- Порт : Установите порт.
- База данных : Установите для базы данных, из которой вы хотите читать и писать.
- Пользователь : Установите для пользователя базы данных.
- Пароль : Установите пароль пользователя.
- Щелкните Проверить соединение, чтобы убедиться, что соединение настроено правильно.
- Щелкните Сохранить изменения.
Настройка подключения к Facebook
Вы можете настроить подключение к Facebook на вкладке «Подключения». Чтобы добавить подключение к своей учетной записи Facebook, перейдите на вкладку «Подключения».
- Щелкните Добавить соединение.
- Выберите источник (Facebook).
- Настройте свойства подключения.
Для большинства таблиц требуется аутентификация пользователя, а также аутентификация приложения. Facebook использует стандарт аутентификации OAuth. Для аутентификации в Facebook вы можете использовать встроенные OAuthClientId, OAuthClientSecret и CallbackURL или получить свой собственный, зарегистрировав приложение в Facebook.
См. Главу «Начало работы» в справочной документации, чтобы узнать, как использовать OAuth.
- Щелкните Подключить, чтобы убедиться, что подключение настроено правильно.
- Щелкните Сохранить изменения.
Настройка запросов репликации
CData Sync позволяет управлять репликацией с помощью интерфейса «укажи и щелкни» и с помощью SQL-запросов. Для каждой репликации, которую вы хотите настроить, перейдите на вкладку «Задания» и нажмите «Добавить задание». Выберите источник и место назначения для вашей репликации.
Репликация целых таблиц
Чтобы реплицировать всю таблицу, нажмите «Добавить таблицы» в разделе «Таблицы», выберите таблицы, которые вы хотите реплицировать, и нажмите «Добавить выбранные таблицы».
Настройте вашу репликацию
Вы можете использовать функцию преобразования, чтобы настроить репликацию. Функция преобразования позволяет вам указать, какие столбцы реплицировать, переименовать столбцы в месте назначения и даже выполнить операции с исходными данными перед репликацией. Чтобы настроить репликацию, нажмите кнопку «Преобразовать» в разделе «Таблицы» и настройте репликацию.Расписание репликации
В разделе «Расписание» вы можете запланировать автоматический запуск задания, настроив его для запуска через определенные интервалы в диапазоне от одного раза в 15 минут до одного раза в месяц.
После настройки задания репликации нажмите «Сохранить изменения». Вы можете настроить любое количество заданий для управления репликацией ваших данных Facebook в MongoDB.
Присоединяйтесь к своей рекламе в Facebook и данным MongoDB за считанные минуты
- приборная панель: обзор
title: Обзор
макет: сетка
ряды:
- элементы: [total_impressions, total_actions, total_spend]
высота: 150
- элементы: [потратить_акции_impressions]
высота: 400
- элементы: [campaign_performance]
высота: 400
- элементы: [campaign_value]
высота: 400
- элементы: [campaign_delivery]
высота: 400
- элементы: [actions_by_country]
высота: 400
- элементы: [campaign_performance_and_clicks]
высота: 400
- элементы: [actions_by_type, avg_frequency_by_objective]
высота: 400
- элементы: [campaign_engagement]
высота: 400
фильтры:
- название: название_кампании
тип: string_filter
- имя: date_start
тип: date_filter
элементы:
- название: total_impressions
title: Всего показов
тип: single_value
модель: facebook
исследовать: ad_insights
меры: [ad_insights.total_impressions]
сортирует: [ad_insights.total_impressions desc]
предел: 5000
show_single_value_title: правда
show_comparison: ложь
Слушать:
название_кампании: ad_insights.campaign_name
date_start: ad_insights.date_start_date
- имя: total_actions
title: Всего действий
тип: single_value
модель: facebook
исследовать: ad_insights
меры: [ad_insights.total_actions]
сортирует: [ad_insights.total_actions desc]
предел: 5000
show_single_value_title: истина
show_comparison: ложь
Слушать:
название_кампании: ad_insights.Название кампании
date_start: ad_insights.date_start_date
- имя: total_spend
title: Общие расходы
тип: single_value
модель: facebook
исследовать: ad_insights
меры: [ad_insights.total_spend]
сортирует: [ad_insights.total_spend desc]
предел: 5000
show_single_value_title: истина
show_comparison: ложь
Слушать:
название_кампании: ad_insights.campaign_name
date_start: ad_insights.date_start_date
- название: потратить_акции_impressions
title: Расходы, действия и показы с течением времени
тип: looker_line
модель: facebook
исследовать: ad_insights
размеры: [ad_insights.date_start_month]
меры: [ad_insights.total_spend, ad_insights.total_actions,
ad_insights.total_impressions]
сортирует: [ad_insights.date_start_month desc]
предел: 5000
штабелирование: ''
цвета: ['# FFCC00', '# 1E2023', '# 3399CC', '# CC3399', '# 66CC66', '# 999999', '# FF4E00', '# A2ECBA', '# 9932CC', '# 0000CD ']
show_value_labels: ложь
label_de density: 25
legend_position: center
x_axis_gridlines: ложь
show_view_names: истина
limit_displayed_rows: ложь
y_axis_combined: false
show_y_axis_labels: true
show_y_axis_ticks: ложь
y_axis_tick_de density: по умолчанию
show_x_axis_label: true
show_x_axis_ticks: истина
x_axis_scale: авто
y_axis_scale_mode: линейный
show_null_points: правда
point_style: нет
интерполяция: линейная
Слушать:
название_кампании: ad_insights.Название кампании
date_start: ad_insights.date_start_date
- название: campaign_performance
title: Эффективность кампании
тип: стол
модель: facebook
исследовать: ad_insights
размеры: [campaign.name, adsets.end_date, adsets.effective_status,
campaign.objective]
меры: [ad_insights.total_actions, ad_insights.total_clicks,
ad_insights.total_reach, ad_insights.total_spend]
динамические_поля:
- table_calculation: cost_per_action
label: cost_per_action
выражение: $ {ad_insights.total_spend} / $ {ad_insights.total_actions}
сортировки: [campaign.name]
предел: 5000
show_view_names: ложь
show_row_numbers: истина
truncate_column_names: ложь
table_theme: редактируемый
limit_displayed_rows: ложь
Слушать:
название_кампании: ad_insights.campaign_name
date_start: ad_insights.date_start_date
- название: campaign_value
title: Цена за действие против общего количества действий по кампании
тип: looker_scatter
модель: facebook
исследовать: ad_insights
размеры: [кампании.название]
меры: [ad_insights.total_actions, ad_insights.total_spend]
динамические_поля:
- table_calculation: cost_per_action
label: Цена за действие
выражение: $ {ad_insights.total_spend} / $ {ad_insights.total_actions}
скрытые_поля: [ad_insights.total_spend, campaign.name]
сортировки: [cost_per_action desc]
description: «Оцените эффективность кампании, сравнивая выполненные действия с общими затратами на кампанию».
предел: 5000
column_limit: 50
штабелирование: ''
цвета: ['# FFCC00', '# 1E2023', '# 3399CC', '# CC3399', '# 66CC66', '# 999999', '# FF4E00', '# A2ECBA', '# 9932CC', '# 0000CD ']
show_value_labels: ложь
label_de density: 25
legend_position: center
x_axis_gridlines: ложь
y_axis_gridlines: истина
show_view_names: ложь
limit_displayed_rows: ложь
y_axis_combined: правда
show_y_axis_labels: true
show_y_axis_ticks: истина
y_axis_tick_de density: по умолчанию
show_x_axis_label: true
show_x_axis_ticks: истина
x_axis_scale: авто
y_axis_scale_mode: линейный
show_null_points: правда
point_style: круг
Слушать:
название_кампании: ad_insights.Название кампании
date_start: ad_insights.date_start_date
- название: campaign_delivery
title: Доставка кампании
тип: стол
модель: facebook
исследовать: ad_insights
размеры: [campaign.name, adsets.end_date, adsets.effective_status,
campaign.objective]
меры: [ad_insights.total_reach, ad_insights.avg_frequency,
ad_insights.avg_cpp, ad_insights.avg_cpm, ad_insights.total_impressions]
сортировки: [campaign.name]
предел: 5000
show_view_names: ложь
show_row_numbers: истина
truncate_column_names: ложь
table_theme: редактируемый
limit_displayed_rows: ложь
Слушать:
название_кампании: ad_insights.Название кампании
date_start: ad_insights.date_start_date
- название: actions_by_country
title: Действия по странам
тип: looker_geo_choropleth
модель: facebook
исследовать: ad_insights_by_country
размеры: [ad_insights_by_country.country_iso]
меры: [ad_insights_by_country.total_actions]
сортировки: [ad_insights_by_country.total_actions desc]
предел: 5000
карта: авто
цвета: ['# FFCC00']
show_view_names: истина
quantize_colors: ложь
Слушать:
название_кампании: ad_insights_by_country.Название кампании
date_start: ad_insights_by_country.date_start_date
- название: campaign_performance_and_clicks
title: Эффективность кампании и клики
тип: стол
модель: facebook
исследовать: ad_insights
размеры: [campaign.name, adsets.effective_status, adsets.end_date,
campaign.objective]
меры: [ad_insights.total_actions, ad_insights.total_reach,
ad_insights.avg_frequency, ad_insights.total_clicks, ad_insights.avg_ctr,
ad_insights.avg_cpc, ad_insights.total_impressions, ad_insights.avg_cpm,
ad_insights.total_inline_link_clicks, ad_insights.avg_inline_link_click_ctr,
ad_insights.avg_cost_per_inline_link_click, ad_insights.total_spend]
сортирует: [ad_insights.total_actions desc]
предел: 5000
show_view_names: ложь
show_row_numbers: истина
truncate_column_names: ложь
table_theme: редактируемый
limit_displayed_rows: ложь
Слушать:
название_кампании: ad_insights.campaign_name
date_start: ad_insights.date_start_date
- имя: actions_by_type
title: Действия по типу
тип: looker_pie
модель: facebook
исследовать: ad_action_insights
размеры: [ad_action_insights.action_type]
меры: [ad_action_insights.total_actions]
сортировки: [ad_action_insights.total_actions desc]
предел: 5000
цвета: ['# FFCC00', '# 1E2023', '# 3399CC', '# CC3399', '# 66CC66', '# 999999', '# FF4E00', '# A2ECBA', '# 9932CC', '# 0000CD ']
value_labels: легенда
show_view_names: истина
Слушать:
название_кампании: ad_action_insights.campaign_name
date_start: ad_action_insights.date_start_date
- имя: avg_frequency_by_objective
title: Средняя частота по цели
тип: looker_column
модель: facebook
исследовать: ad_insights
размеры: [кампании.задача]
меры: [ad_insights.avg_frequency]
сортирует: [ad_insights.avg_frequency desc]
предел: 5000
штабелирование: ''
цвета: ['# FFCC00', '# 1E2023', '# 3399CC', '# CC3399', '# 66CC66', '# 999999', '# FF4E00', '# A2ECBA', '# 9932CC', '# 0000CD ']
show_value_labels: ложь
label_de density: 25
legend_position: center
x_axis_gridlines: ложь
y_axis_gridlines: истина
show_view_names: истина
limit_displayed_rows: ложь
y_axis_combined: правда
show_y_axis_labels: true
show_y_axis_ticks: истина
y_axis_tick_de density: по умолчанию
show_x_axis_label: true
show_x_axis_ticks: истина
x_axis_scale: авто
y_axis_scale_mode: линейный
show_null_labels: ложь
Слушать:
название_кампании: ad_insights.Название кампании
date_start: ad_insights.date_start_date
- название: campaign_engagement
title: Вовлеченность кампании
тип: стол
модель: facebook
исследовать: ad_action_insights
размеры: [campaign.name, adsets.effective_status, adsets.end_date,
campaign.objective]
меры: [ad_action_insights.post_likes, ad_action_insights.post_comments,
ad_action_insights.link_clicks, ad_action_insights.page_likes,
ad_action_insights.post_shares]
сортирует: [кампании.название]
предел: 5000
show_view_names: ложь
show_row_numbers: истина
truncate_column_names: ложь
table_theme: редактируемый
limit_displayed_rows: ложь
Слушать:
название_кампании: ad_action_insights.campaign_name
date_start: ad_action_insights.date_start_date
Репозиторий Maven: com.facebook.presto »presto-mongodb
Presto — соединитель mongodb
Версия | Репозиторий | Использование | Дата | |
---|---|---|---|---|
0.258 .x | 0,258 | Центральный | 2 | июл, 2021 |
0,257 .x | 0,257 | Центральный | 2 | июл, 2021 |
0,256 .x | 0,256 | Центральный | 2 | Июн, 2021 |
0,255 .x | 0,255 | Центральный | 2 | Июнь 2021 г. |
0.254 .x | 0,254,1 | Центральный | 2 | июнь 2021 г. |
0,254 | центральный | 2 | июнь 2021 г. | |
0,253 .x | 0,253,1 | Центральный | 2 | Июнь 2021 г. |
0,253 | Центральный | 2 | Май 2021 г. | |
0,252 .x | 0,252 | Центральный | 2 | Май 2021 г. |
0,251 . x | 0,251,1 | Центральный | 2 | Май 2021 г. |
0,251 | Центральный | 2 | апр, 2021 г. | |
0,250 .x | 0,250 | Центральный | 2 | март 2021 г. |
0.249 .x | 0,249,1 | Центральный | 2 | март 2021 г. |
0,249 | центральный | 2 | март 2021 г. | |
0,248 .x | 0,248,1 | Центральный | 2 | март 2021 г. |
0,248 | Центральный | 2 | март 2021 г. | |
0,247 .x | 0,247 | Центральный | 2 | Февраль 2021 г. |
0,246 . x | 0,246 | Центральный | 2 | Янв 2021 г. |
9000 0,245 .x | 0,245,1 | Центральный | 2 | Янв, 2021 г. |
0,245 | Центральный | 2 | Декабрь 2020 г. | |
0.244 .x | 0,244,1 | Центральный | 2 | декабрь 2020 г. |
0,244 | Центральный | 2 | ноябрь 2020 г. | |
0,243 .x | 0,243,4 | Центральный | 2 | декабрь 2020 г. |
0,243,3 | Центральный | 2 | ноябрь 2020 г. | |
0,243,2 | Центральный | 2 | ноябрь , 2020 | |
0.243,1 | Центральный | 2 | ноябрь 2020 г. | |
0,243 | Центральный | 2 | ноябрь 2020 г. | |
0,242 .x | 0,242,1 | Центральный | 2 | ноя, 2020 |
0,242 | Центральный | 2 | окт, 2020 | |
0,241 .x | 0,241 | Центральный | 2 | сен, 2020 |
0.240 .x | 0,240,1 | Центральный | 2 | Сентябрь 2020 г. |
0,240 | Центральный | 2 | Август 2020 г. | |
0,239 .x | 0,239,3 | Центральный | 2 | август 2020 г. |
0,239,2 | Центральный | 2 | август 2020 г. | |
0,239,1 | Центральный | 2 | авг. , 2020 | |
0.239 | Центральный | 2 | Август 2020 г. | |
0,238 .x | 0,238,2 | Центральный | 2 | Июль 2020 г. |
0,238,1 | Центральный | 2 | июл, 2020 | |
0,238 | Центральный | 2 | июл, 2020 | |
0,237 .x | 0,237.2 | Центральный | 1 | Август, 2020 |
0,237,1 | Центральный | 1 | Июл, 2020 | |
0,237 | Центральный | 1 | Июнь 2020 | |
0,236 .x | 0,236,1 | Центральный | 1 | июл, 2020 |
0,236 | Центральный | 1 | июнь 2020 | |
0 .235 .x | 0,235,1 | Центральный | 1 | Май 2020 г. |
0,235 | Центральный | 1 | Май 2020 г. | |
0,234 .x | 0,234,3 | Центральный | 1 | Май 2020 г. |
0,234,2 | Центральный | 1 | апрель 2020 г. | |
0,234,1 | Центральный | 1 | апр. , 2020 | |
0.234 | Центральный | 1 | Апрель 2020 г. | |
0,233 .x | 0,233,1 | Центральный | 1 | март 2020 г. |
0,233 | Центральный | 1 | март, 2020 | |
0,232 .x | 0,232 | Центральный | 1 | фев 2020 |
0.231 .x | 0,231,1 | Центральный | 1 | фев 2020 г. |
0,231 | Центральный | 1 | фев 2020 г. | |
0,230 .x | 0,230 | Центральный | 1 | Янв, 2020 |
0,229 .x | 0,229 | Центральный | 1 | Ноябрь 2019 г. |
0 .228 .x | 0,228 | Центральный | 1 | ноябрь 2019 г. |
0,227 .x | 0,227 | Центральный | 1 | октябрь 2019 г. |
0,226 .x | 0,226 | Центральный | 1 | Сентябрь 2019 г. |
0,225 .x | 0,225 | Центральный | 1 | Сентябрь 2019 г. |
0.224 .x | 0,224 | Центральный | 1 | Август 2019 г. |
0,223 .x | 0,223,1 | Центральный | 1 | Август 2019 г. |
0,223 | Центральный | 1 | июл, 2019 | |
0,222 .x | 0,222 | Центральный | 1 | июл 2019 |
0 .221 .x | 0,221 | Центральный | 1 | Июнь 2019 г. |
0,220 .x | 0,220 | Центральный | 1 | Май 2019 г. |
0,219 .x | 0,219 | Центральный | 1 | Апрель 2019 г. |
0,218 .x | 0,218 | Центральный | 0 | март, 2019 |
0.217 .x | 0,217 | Центральный | 0 | фев, 2019 |
0,216 .x | 0,216 | Центральный | 0 | Янв, 2019 |
0,215 .x | 0,215 | Центральный | 0 | Декабрь 2018 г. |
0,214 .x | 0.214 | Центральный | 0 | Ноябрь 2018 г. |
0,213 .x | 0,213 | Центральный | 0 | Октябрь, 2018 |
0,212 .x | 0,212 | Центральный | 0 | Октябрь, 2018 |
0,211 .x | 0,211 | Центральный | 0 | Сентябрь 2018 г. |
0.210 .x | 0,210 | Центральный | 0 | Сентябрь 2018 г. |
0,209 .x | 0,209 | Центральный | 0 | Август, 2018 |
0,208 .x | 0,208 | Центральный | 0 | Август, 2018 |
0,207 .x | 0.207 | Центральный | 0 | Август, 2018 |
0,206 .x | 0,206 | Центральный | 0 | июл, 2018 |
0,205 .x | 0,205 | Центральный | 0 | Июн, 2018 |
0,204 .x | 0,204 | Центральный | 0 | Июн 2018 |
0.203 .x | 0,203 | Центральный | 0 | Июн, 2018 |
0,202 .x | 0,202 | Центральный | 0 | Май, 2018 г. |
0,201 .x | 0,201 | Центральный | 0 | Май, 2018 г. |
0.200 .x | 0.200 | Центральный | 0 | Апрель, 2018 |
0,199 .x | 0,199 | Центральный | 0 | Апрель, 2018 |
0,198 .x | 0,198 | Центральный | 0 | Март, 2018 |
0,197 .x | 0,197 | Центральный | 0 | Март, 2018 |
0.196 .x | 0,196 | Центральный | 0 | Март, 2018 |
0,195 .x | 0,195 | Центральный | 0 | фев, 2018 |
0,194 .x | 0,194 | Центральный | 0 | Февраль, 2018 |
0,193 .x | 0.193 | Центральный | 0 | Янв, 2018 |
0,192 .x | 0,192 | Центральный | 0 | Янв, 2018 |
0,191 .x | 0,191 | Центральный | 0 | декабрь 2017 г. |
0,190 .x | 0,190 | Центральный | 0 | Декабрь 2017 г. |
0.189 .x | 0,189 | Центральный | 0 | Ноябрь 2017 г. |
0,188 .x | 0,188 | Центральный | 0 | Ноябрь 2017 г. |
0,187 .x | 0,187 | Центральный | 0 | Октябрь 2017 г. |
0,186 .x | 0.186 | Центральный | 0 | Октябрь, 2017 |
0,185 .x | 0,185 | Центральный | 0 | Сентябрь 2017 г. |
0,184 .x | 0,184 | Центральный | 0 | Сентябрь 2017 г. |
0,183 .x | 0,183 | Центральный | 0 | Август 2017 г. |
0.182 .x | 0,182 | Центральный | 0 | август 2017 г. |
0,181 .x | 0,181 | Центральный | 0 | июл, 2017 |
0,180 .x | 0,180 | Центральный | 0 | июн, 2017 |
0,179 .x | 0.179 | Центральный | 0 | июн, 2017 |
0,178 .x | 0,178 | Центральный | 0 | июнь 2017 г. |
0,177 .x | 0,177 | Центральный | 0 | Май, 2017 г. |
0,176 .x | 0,176 | Центральный | 0 | Май, 2017 г. |
0.175 .x | 0,175 | Центральный | 0 | Май, 2017 г. |
0,174 .x | 0,174 | Центральный | 0 | апр, 2017 г. |
0,173 .x | 0,173 | Центральный | 0 | Апрель, 2017 г. |
0,172 .x | 0.172 | Центральный | 0 | Апрель, 2017 г. |
0,171 .x | 0,171 | Центральный | 0 | Апрель, 2017 |
0,170 .x | 0,170 | Центральный | 0 | март, 2017 |
0,169 .x | 0,169 | Центральный | 0 | Март 2017 г. |
0.168 .x | 0,168 | Центральный | 0 | Март, 2017 |
0,167 .x | 0,167 | Центральный | 0 | фев, 2017 |
0,166 .x | 0,166 | Центральный | 0 | Февраль, 2017 |
0,165 .x | 0.165 | Центральный | 0 | фев, 2017 |
0,164 .x | 0,164 | Центральный | 0 | Янв, 2017 г. |
0,163 .x | 0,163 | Центральный | 0 | Янв, 2017 г. |
0,162 .x | 0,162 | Центральный | 0 | Янв, 2017 |
0.161 .x | 0,161 | Центральный | 0 | Декабрь, 2016 г. |
0,160 .x | 0,160 | Центральный | 0 | Декабрь, 2016 г. |
0,159 .x | 0,159 | Центральный | 0 | Декабрь, 2016 г. |
0,158 .x | 0.158 | Центральный | 0 | Декабрь, 2016 г. |
0,157 .x | 0,157,1 | Центральный | 0 | Ноябрь 2016 г. |
0,157 | Центральный | 0 | Ноябрь 2016 г. | |
0,156 .x | 0,156 | Центральный | 0 | Ноябрь 2016 г. |
0.155 .x | 0,155 | Центральный | 0 | Октябрь, 2016 |
0,154 .x | 0,154 | Центральный | 0 | Октябрь, 2016 |
0,153 .x | 0,153 | Центральный | 0 | Октябрь 2016 г. |
0,152 .x | 0.152,3 | Центральный | 0 | Сентябрь 2016 г. |
0,152,2 | Центральный | 0 | Сентябрь 2016 г. | |
0.152.1 | Центральный | 0 | Сентябрь 2016 г. | |
0,152 | Центральный | 0 | Август, 2016 | |
0,151 .x | 0,151 | Центральный | 0 | июл, 2016 |
0.150 .x | 0,150 | Центральный | 0 | июл, 2016 |
0,149 .x | 0,149 | Центральный | 0 | июн, 2016 |
0,148 .x | 0,148 | Центральный | 0 | июн, 2016 |
0,147 .x | 0.147 | Центральный | 0 | Май, 2016 г. |
0,146 .x | 0,146 | Центральный | 0 | Апрель, 2016 |
Пользовательская база данных Facebook — это SQL или NoSQL?
Обновлено в марте 2019 г.
Вы когда-нибудь задумывались, какую базу данных использует Facebook (FB) для хранения профилей своих 2,3 млрд пользователей? Это SQL или NoSQL? Как развивалась архитектура базы данных FB за последние 15+ лет? Как инженер в команде инфраструктуры баз данных FB с 2007 по 2013 год, я был в первом ряду и наблюдал за этой эволюцией.Если лучше понять эволюцию базы данных в крупнейшей социальной сети в мире, можно извлечь бесценные уроки, хотя большинство из нас не столкнется с теми же проблемами в ближайшем будущем. Это связано с тем, что фундаментальные принципы, лежащие в основе масштабируемой в масштабе Интернета, глобально распределенной архитектуры FB, сегодня применимы ко многим критически важным для бизнеса корпоративным приложениям, таким как мультитенантное SaaS, каталог / касса розничной продукции, бронирование поездок и списки лидеров в играх.
Начальная архитектура
Как легко понять любой пользователь FB, его / ее профиль — это не просто список атрибутов, таких как имя, адрес электронной почты, интересы и так далее.На самом деле это богатый социальный граф, в котором хранятся все отношения друзей / семьи, группы, отметки, лайки, репосты и многое другое. Учитывая гибкость моделирования данных с помощью SQL и повсеместное распространение MySQL на момент запуска FB, этот социальный граф изначально был построен как приложение PHP, работающее на MySQL в качестве постоянной базы данных и memcache в качестве «вспомогательного» кеша.
Исходная архитектура базы данных Facebook
В шаблоне внешнего кэширования приложение сначала запрашивает данные из кеша, а не из базы данных.Если данные не кэшированы, приложение получает данные из резервной базы данных и помещает их в кэш для последующих чтений. Обратите внимание, что приложение PHP получало доступ к MySQL и кэшу памяти напрямую, без какого-либо промежуточного уровня абстракции данных.
Проблемы роста
Стремительный успехFB, начавшийся с 2005 года, оказал огромное давление на упрощенную архитектуру базы данных, о которой говорилось в предыдущем разделе. Ниже были некоторые проблемы роста, которые инженеры FB должны были решить за короткий период времени.
Потеря гибкости разработчика
Инженерыдолжны были работать с двумя хранилищами данных с двумя очень разными моделями данных: большой набор пар MySQL master-slave для постоянного хранения данных в реляционных таблицах и такой же большой набор серверов memcache для хранения и обслуживания плоских пар ключ-значение полученные (некоторые косвенно) из результатов SQL-запросов. Работа с уровнем базы данных теперь требует, прежде всего, получения сложных знаний о том, как два хранилища работают во взаимодействии друг с другом.Чистым результатом стала потеря гибкости разработчика.
Шардинг базы данных на уровне приложений
Неспособность MySQL масштабировать запросы записи за пределы одного узла стала серьезной проблемой, поскольку объемы данных росли семимильными шагами. Монолитная архитектура MySQL по существу очень рано вынуждала сегментировать приложения на уровне приложений. Это означало, что приложение теперь отслеживало, какой экземпляр MySQL отвечает за хранение профиля какого пользователя. Сложность разработки и эксплуатации растет экспоненциально, когда количество таких экземпляров увеличивается с 1 до 100, а затем увеличивается до 1000.Обратите внимание, что соблюдение такой архитектуры означало, что приложение больше не использует базу данных для выполнения каких-либо соединений и транзакций между сегментами, тем самым отказываясь от всей мощи SQL (как гибкого языка запросов) для горизонтального масштабирования.
Multi-Datacenter, геоизбыточная репликация
Обработка отказов центров обработки данных также стала критической проблемой, что означало хранение ведомых устройств MySQL (и соответствующих экземпляров кэша памяти) в нескольких геоизбыточных центрах обработки данных. Совершенствование и введение в действие отработки отказа само по себе было нелегким делом, но, учитывая асинхронную репликацию «главный-подчиненный», недавно зафиксированные данные все равно будут отсутствовать при выполнении такого переключения.
Потеря согласованности между кешем и БД
Кэш памяти перед ведомым устройством MySQL удаленной области не может немедленно обслуживать строго согласованное чтение (также известное как чтение после записи) из-за асинхронной репликации между ведущим устройством и ведомым устройством. И в результате устаревшие чтения в удаленном регионе могут легко запутать пользователей. Например. запрос на добавление в друзья может отображаться как принятый для одного друга, а для другого — как ожидающий.
Введите TAO, API-интерфейс NoSQL Graph на сегментированном SQL
В начале 2009 г. FB приступил к созданию TAO, специфичного для FB графического API NoSQL, созданного для работы на сегментированном MySQL.Целью было решить проблемы, отмеченные в предыдущем разделе. TAO означает «Ассоциации и объекты». Несмотря на то, что дизайн TAO был впервые опубликован в виде документа в 2013 году, реализация TAO никогда не была открытой из-за проприетарной природы социального графа FB.
TAO представляет элементы данных как узлы (объекты), а отношения между ними как ребра (ассоциации). Разработчикам приложений FB понравился API, потому что теперь они могли легко управлять обновлениями базы данных и запросами, необходимыми для их логики приложения, без прямого знания MySQL или даже memcache.
Архитектура
Как показано на рисунке ниже, TAO, по сути, преобразовала существующие 1000 пар MySQL с ручным сегментированием вручную в MySQL в хорошо масштабируемый, автоматически сегментированный, географически распределенный кластер базы данных. Все объекты и ассоциации в одном сегменте постоянно хранятся в одном экземпляре MySQL и кэшируются на одном и том же наборе серверов в каждом кэширующем кластере. Размещение отдельных объектов и ассоциаций может быть направлено на определенные сегменты во время создания, когда это необходимо.Управление степенью совместного размещения данных оказалось важным методом оптимизации для обеспечения доступа к данным с малой задержкой.
Шаблоны доступана основе SQL, такие как кросс-сегментные транзакции ACID и JOIN, были запрещены в TAO как средство для сохранения таких гарантий низкой задержки. Однако он поддерживал неатомарную запись с двумя шардами в контексте обновления ассоциации (два объекта которого могут находиться в двух разных шардах). В случае сбоев после обновления одного сегмента, но до обновления второго сегмента, задание асинхронного восстановления очистит «зависшую» ассоциацию позже.
Shards можно перенести или клонировать на другой сервер в одном кластере, чтобы сбалансировать нагрузку и сгладить скачки нагрузки. Скачки нагрузки были обычным явлением и случались, когда несколько объектов или ассоциаций становились чрезвычайно популярными, поскольку они одновременно появляются в новостных лентах десятков миллионов пользователей.
Архитектура TAO (Источник: FB Engineering Blog)
Существует ли универсальное корпоративное решение?
УFB не было выбора, кроме как массово масштабировать уровень базы данных MySQL, отвечающий за социальный граф своего пользователя.Ни MySQL, ни другие доступные в то время базы данных SQL не могли решить эту проблему самостоятельно. Таким образом, FB использовал свои значительные инженерные возможности для создания настраиваемого уровня запросов к базе данных, который абстрагировал базовые сегментированные базы данных MySQL. Тем самым он вынудил своих разработчиков полностью отказаться от SQL как гибкого API запросов и принять собственный NoSQL API TAO.
У большинства из нас в корпоративном мире нет проблем с масштабированием Facebook, но тем не менее они хотят масштабировать базы данных SQL по запросу.Нам нравится SQL за его гибкость и повсеместность, а это значит, что мы хотим масштабироваться, не отказываясь от SQL. Есть ли универсальное решение для таких предприятий, как мы? Ответ — да!
Здравствуйте, распределенный SQL!
Монолитные базы данных SQL уже более 10 лет пытаются стать распределенными, чтобы решить проблему горизонтального масштабирования. Как подчеркивается в «Росте глобально распределенных баз данных SQL», первая волна таких баз данных называлась NewSQL и включала такие базы данных, как Clustrix, NuoDB, Citus и Vitess.Они имели ограниченный успех в замене сегментированных вручную баз данных SQL. Причина в том, что созданной новой ценности недостаточно для радикального упрощения разработки и эксплуатации. Clustrix и NuoDB требуют наличия специализированной, высоконадежной инфраструктуры центра обработки данных с малой задержкой — современная облачная инфраструктура выглядит с точностью до наоборот. Citus и Vitess до некоторой степени упрощают работу за счет автоматического сегментирования базы данных, но затем создают затруднения для разработчика, не предоставляя ему / ей единую логическую распределенную базу данных SQL.
Сейчас мы находимся во втором поколении распределенных баз данных SQL, где огромная масштабируемость и глобальное распределение данных встроены в уровень базы данных, в отличие от 10 лет назад, когда Facebook пришлось встроить эти функции в уровень приложений.
На основе Google Spanner
Пока FB создавал TAO, Google создавал Spanner, совершенно новую глобально согласованную базу данных для решения очень похожих задач. Модель данных Шпаннера была не столько социальным графом, сколько традиционной рабочей нагрузкой OLTP с произвольным доступом, которая управляет пользователями Google, организациями клиентов, кредитами AdWords, предпочтениями GMail и многим другим.Впервые Spanner был представлен миру в виде проектной документации в 2012 году. Он начался в 2007 году как транзакционное хранилище ключей и значений, но затем превратился в базу данных SQL. Переход на SQL как единственный клиентский язык ускорился, поскольку инженеры Google осознали, что SQL имеет все необходимые конструкции для гибкой разработки приложений, особенно в эпоху нативных облачных вычислений, когда инфраструктура намного более динамична и подвержена сбоям, чем высоконадежные частные центры обработки данных мимо. Сегодня несколько современных баз данных (включая YugabyteDB) полностью воплотили в жизнь дизайн Google Spanner с открытым исходным кодом.
Простая обработка объемов данных Интернет-масштаба
Sharding полностью автоматизирован в архитектуре Spanner. Кроме того, шарды становятся автоматически сбалансированными по всем доступным узлам по мере добавления новых узлов или удаления существующих узлов. Микросервисы, которым требуется массивная масштабируемость записи, теперь могут напрямую полагаться на базу данных, а не на добавление новых уровней инфраструктуры, подобных тем, которые мы видели в архитектуре FB. Нет необходимости в кэше в памяти (который разгружает запросы чтения из базы данных, тем самым освобождая его для обслуживания запросов на запись), а также нет необходимости в TAO-подобном уровне приложения, который выполняет управление осколками.
Чрезвычайная устойчивость к сбоям
Ключевое различие между Spanner и устаревшими базами данных NewSQL, которые мы рассмотрели в предыдущем разделе, заключается в том, что Spanner использует распределенный консенсус по сегментам, чтобы гарантировать, что каждый сегмент (а не просто каждый экземпляр) остается высокодоступным в случае сбоев. Как и в случае с TAO, сбои инфраструктуры всегда влияют только на подмножество данных (только на те сегменты, лидеры которых отделяются), а не на весь кластер. И, учитывая способность оставшихся реплик сегментов автоматически выбирать нового лидера за секунды, кластер демонстрирует характеристики самовосстановления при сбоях.Приложение остается прозрачным для этих изменений конфигурации кластера и продолжает нормально работать без сбоев и замедлений.
Бесшовная репликация по всему миру
Преимущество глобально согласованной архитектуры базы данных состоит в том, что микросервисы, которым требуются абсолютно правильные данные в сценариях записи с несколькими зонами и несколькими регионами, могут, наконец, напрямую полагаться на базу данных. Конфликты и потеря данных, наблюдаемые в типичных развертываниях с несколькими мастерами в прошлом, не происходят. Такие функции, как географическое разделение на уровне таблицы и на уровне строк, гарантируют, что данные, относящиеся к локальному региону, остаются в том же регионе.Это гарантирует, что строго согласованный путь чтения никогда не приведет к задержке между регионами / глобальной сетью.
Полная мощность SQL и распределенных транзакций ACID
В отличие от устаревших баз данных NewSQL, транзакции SQL и ACID в их полной форме могут поддерживаться в архитектуре Spanner. Операции с одним ключом по умолчанию строго согласованы и транзакционны (технический термин — линеаризуемый). Транзакции с одним сегментом по определению ведутся в одном сегменте и, следовательно, могут быть зафиксированы без использования диспетчера распределенных транзакций.Мульти-сегментные (также известные как распределенные) ACID-транзакции включают двухэтапную фиксацию с использованием распределенного диспетчера транзакций, который также отслеживает отклонения часов на узлах. Соединения с несколькими шардами аналогичным образом обрабатываются путем запроса данных по узлам. Ключевым моментом здесь является то, что все операции доступа к данным прозрачны для разработчика, который просто использует обычные конструкции SQL для взаимодействия с базой данных.
Резюме
Истории о масштабировании инфраструктуры данных в любом из технологических гигантов, включая FB и Google, позволяют получить отличное инженерное образование.В FB мы пошли по пути построения TAO, который позволил нам сохранить наши инвестиции в сегментированный MySQL. Наши инженеры по приложениям потеряли способность использовать SQL, но получили ряд других преимуществ. Инженеры Google столкнулись с аналогичными проблемами, но они выбрали другой путь, создав Spanner, совершенно новую базу данных SQL, которая может горизонтально масштабироваться, легко геореплицировать и легко допускать сбои инфраструктуры. И FB, и Google — невероятные истории успеха, поэтому нельзя сказать, что один путь лучше другого.Однако, когда мы расширяем кругозор до корпоративных архитектур общего назначения, Spanner опережает TAO по всем причинам, изложенным в этом посте. Построив уровень хранения YugabyteDB на архитектуре Spanner, мы считаем, что сможем привнести в сегодняшние предприятия гибкость разработчиков технологических гигантов.
Что дальше?
- Подробно сравните YugabyteDB с такими базами данных, как CockroachDB, Google Cloud Spanner и MongoDB.
- Начните работу с YugabyteDB в macOS, Linux, Docker и Kubernetes.
- Свяжитесь с нами, чтобы узнать больше о лицензировании, ценах или запланировать технический обзор.
Галерея NuGet | FB.AspNetCore.Identity.MongoDB 1.0.0
Установочный пакет FB.AspNetCore.Identity.MongoDB -Version 1.0.0
dotnet добавить пакет FB.AspNetCore.Identity.MongoDB --version 1.0.0
Для проектов, поддерживающих PackageReference, скопируйте этот узел XML в файл проекта, чтобы ссылаться на пакет.
пакет добавить FB.AspNetCore.Identity.MongoDB --version 1.0.0Команда NuGet не предоставляет поддержку для этого клиента.Пожалуйста, свяжитесь с сопровождающими для получения поддержки.
#r "nuget: FB.AspNetCore.Identity.MongoDB, 1.0.0"
Директива #r может использоваться в F # Interactive, сценариях C # и .NET Interactive. Скопируйте это в интерактивный инструмент или исходный код скрипта, чтобы сослаться на пакет.
// Установите FB.AspNetCore.Identity.MongoDB как надстройка для тортов #addin nuget:? package = FB.