{"id":103120,"date":"2022-01-28T15:37:51","date_gmt":"2022-01-28T13:37:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite"},"modified":"2022-01-28T15:37:51","modified_gmt":"2022-01-28T13:37:51","slug":"vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite","title":{"rendered":"Wydanie rqlite 7.0, rozproszonej, odporniej na awarie bazy danych na podstawie SQLite","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wydano rozproszon\u0105 baz\u0119 danych rqlite 7.0, kt\u00f3ra wykorzystuje SQLite jako silnik przechowywania i pozwala na zorganizowanie pracy klastra z synchronizowanymi magazynami. Do cech rqlite nale\u017cy \u0142atwo\u015b\u0107 instalacji, wdra\u017cania i utrzymania rozproszonego, odpornego na awarie magazynu, kt\u00f3ry jest w pewnym sensie podobny do etcd i Consul, ale wykorzystuje relacyjn\u0105 model danych zamiast formatu klucz\/warto\u015b\u0107. Kod projektu napisany jest w j\u0119zyku Go i jest rozpowszechniany na licencji MIT.    <\/p>\n<p>Aby utrzyma\u0107 wszystkie w\u0119z\u0142y w synchronizowanym stanie, stosowany jest algorytm osi\u0105gania konsensusu Raft. Rqlite korzysta z oryginalnej biblioteki SQLite i sterownika go-sqlite3, na kt\u00f3rych dzia\u0142a warstwa obs\u0142uguj\u0105ca zapytania klient\u00f3w, wykonuj\u0105ca replikacj\u0119 do innych w\u0119z\u0142\u00f3w i monitoruj\u0105ca osi\u0105gni\u0119cie konsensusu w wyborze w\u0119z\u0142a lidera.     <\/p>\n<p>Zmiany w bazie danych mog\u0105 by\u0107 wprowadzane tylko przez w\u0119ze\u0142 wybrany jako lider, ale po\u0142\u0105czenia do operacji zapisu mog\u0105 by\u0107 kierowane r\u00f3wnie\u017c do innych w\u0119z\u0142\u00f3w klastra, kt\u00f3re zwr\u00f3c\u0105 adres lidera do powt\u00f3rzenia zapytania (w nast\u0119pnej wersji obiecuj\u0105 doda\u0107 automatyczne przekierowanie do lidera). G\u0142\u00f3wny nacisk k\u0142adziony jest na odporno\u015b\u0107 na awarie, dlatego baza danych skalowalna jest tylko pod wzgl\u0119dem operacji odczytu, natomiast operacje zapisu s\u0105 w\u0105skim gard\u0142em. Mo\u017cna uruchomi\u0107 klaster rqlite z jednego w\u0119z\u0142a, a takie rozwi\u0105zanie mo\u017ce by\u0107 u\u017cywane do organizacji dost\u0119pu do SQLite przez HTTP bez zapewnienia odporno\u015bci na awarie.    <\/p>\n<p>Dane SQLite na ka\u017cdym w\u0119\u017ale s\u0105 przechowywane nie w pliku, ale w pami\u0119ci. Na poziomie warstwy z realizacj\u0105 protoko\u0142u Raft prowadzony jest dziennik wszystkich polece\u0144 SQLite, kt\u00f3re prowadz\u0105 do zmiany bazy danych. Dziennik ten jest wykorzystywany podczas replikacji (replikacja na poziomie odtwarzania zapyta\u0144 na innych w\u0119z\u0142ach), przy uruchamianiu nowego w\u0119z\u0142a lub do odzyskiwania po utracie \u0142\u0105czno\u015bci. Aby zmniejszy\u0107 rozmiar dziennika, stosowana jest automatyczna kompresja, kt\u00f3ra uruchamiana jest po osi\u0105gni\u0119ciu okre\u015blonej liczby zmian i prowadzi do utworzenia migawki, w odniesieniu do kt\u00f3rej prowadzony jest nowy dziennik (stan bazy w pami\u0119ci jest identyczny z migawk\u0105 + nagromadzonym dziennikiem zmian).       <\/p>\n<p>Cechy rqlite:  <\/p>\n<ul>\n<li class=\"l\"> \u0141atwo\u015b\u0107 wdra\u017cania klastra bez potrzeby osobnej instalacji SQLite.  <\/li>\n<li class=\"l\"> Mo\u017cliwo\u015b\u0107 szybkiego uzyskania replikowanej bazy danych SQL.  <\/li>\n<li class=\"l\"> Gotowo\u015b\u0107 do u\u017cycia w projektach produkcyjnych.  <\/li>\n<li class=\"l\"> Dost\u0119pno\u015b\u0107 HTTP(S) API, umo\u017cliwiaj\u0105cego aktualizacj\u0119 danych w trybie wsadowym oraz okre\u015blenie w\u0119z\u0142a lidera klastra. Oferowany jest r\u00f3wnie\u017c interfejs wiersza polece\u0144 oraz biblioteki klienta dla r\u00f3\u017cnych j\u0119zyk\u00f3w programowania.  <\/li>\n<li class=\"l\"> Dost\u0119pno\u015b\u0107 us\u0142ugi do wykrywania innych w\u0119z\u0142\u00f3w, umo\u017cliwiaj\u0105cej dynamiczne tworzenie klastr\u00f3w.  <\/li>\n<li class=\"l\"> Wspieranie szyfrowania wymiany danych mi\u0119dzy w\u0119z\u0142ami.  <\/li>\n<li class=\"l\"> Mo\u017cliwo\u015b\u0107 konfigurowania poziomu sprawdzania aktualno\u015bci i sp\u00f3jno\u015bci danych podczas odczytu.  <\/li>\n<li class=\"l\"> Opcjonalna mo\u017cliwo\u015b\u0107 pod\u0142\u0105czania w\u0119z\u0142\u00f3w w trybie tylko do odczytu, kt\u00f3re nie bior\u0105 udzia\u0142u w ustalaniu konsensusu i s\u0105 u\u017cywane do zwi\u0119kszenia skalowalno\u015bci klastra w operacjach odczytu.  <\/li>\n<li class=\"l\"> Wsparcie dla w\u0142asnej formy transakcji na podstawie \u0142\u0105czenia polece\u0144 w jednym zapytaniu (transakcje oparte na BEGIN, COMMIT, ROLLBACK, SAVEPOINT i RELEASE nie s\u0105 wspierane).  <\/li>\n<li class=\"l\"> Wsparcie dla tworzenia gor\u0105cych kopii zapasowych.  <\/ul>\n<p>W nowym wydaniu:  <\/p>\n<ul>\n<li class=\"l\"> Dodano wsparcie dla automatycznego klastrowania rqlite z u\u017cyciem nowej us\u0142ugi lokalizacji w\u0119z\u0142\u00f3w, kt\u00f3ra mo\u017ce dzia\u0142a\u0107 na bazie rozproszonych magazyn\u00f3w Consul i etcd. Us\u0142uga pozwala w\u0119z\u0142om rqlite automatycznie znajdowa\u0107 si\u0119 nawzajem \u2014 administrator musi jedynie uruchomi\u0107 kilka w\u0119z\u0142\u00f3w na r\u00f3\u017cnych <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/dts-gdansk\/\"   title=\"serwerach\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4533\">serwerach<\/a>, wskazuj\u0105c wsp\u00f3lny adres klastra Consul lub etcd (na przyk\u0142ad \u201eexample.com:8500\u201d), a w\u0119z\u0142y automatycznie zostan\u0105 po\u0142\u0105czone w klaster. Wiod\u0105cy w\u0119ze\u0142 okresowo aktualizuje dane o swoim adresie w magazynie Consul lub etcd, co pozwala w p\u00f3\u017aniejszym czasie zmieni\u0107 lidera bez konieczno\u015bci rekonfiguracji pozosta\u0142ych w\u0119z\u0142\u00f3w oraz dodawania nowych w\u0119z\u0142\u00f3w nawet po zmianie lidera. Wsparcie dla starej us\u0142ugi lokalizacji w\u0119z\u0142\u00f3w (tryb Discovery), dzia\u0142aj\u0105cej na bazie AWS Lambda, zosta\u0142o wstrzymane.\n<li class=\"l\"> W interfejsie CLI zezwala si\u0119 na wskazanie jednocze\u015bnie kilku host\u00f3w \u2014 je\u015bli pierwszy w\u0119ze\u0142 oka\u017ce si\u0119 niedost\u0119pny, zostanie podj\u0119ta pr\u00f3ba po\u0142\u0105czenia z nast\u0119pnymi hostami.\n<li class=\"l\"> Przeprojektowano kod do analizy argument\u00f3w wiersza polece\u0144 rqlited.\n<li class=\"l\"> Zaprzestano u\u017cywania przestarza\u0142ego pakietu protobuf.\n<li class=\"l\"> Magazyn BoltDB, stosowany w implementacji protoko\u0142u Raft, zosta\u0142 zast\u0105piony przez bbolt, fork projektu etcd.      <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56600\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 rqlite 7.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SQLite \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0432\u0438\u0436\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u0437 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449. \u0418\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 rqlite \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0447\u0435\u043c-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0433\u043e \u043d\u0430 etcd \u0438 Consul, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043a\u043b\u044e\u0447\/\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-103120","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 rqlite 7.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SQLite \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0432\u0438\u0436\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u0437 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a rqlite 7.0, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQLite | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 rqlite 7.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SQLite \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0432\u0438\u0436\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u0437 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-01-28T13:37:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-01-28T13:37:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wydanie rqlite 7.0, rozproszonej odpornej na b\u0142\u0119dy bazy danych opartej na SQLite | ProHoster","description":"Wydano rozproszon\u0105 baz\u0119 danych rqlite 7.0, kt\u00f3ra wykorzystuje SQLite jako silnik przechowywania i umo\u017cliwia utworzenie klastra synchronizowanych ze sob\u0105 magazyn\u00f3w.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a rqlite 7.0, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQLite | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 rqlite 7.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SQLite \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0432\u0438\u0436\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u0437 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rqlite-7-0-raspredelyonnoj-otkazoustojchivoj-subd-na-osnove-sqlite","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-01-28T13:37:51+00:00","article:modified_time":"2022-01-28T13:37:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103120","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-01-28 13:38:09","updated":"2022-09-28 18:40:10","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/103120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=103120"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/103120\/revisions"}],"predecessor-version":[{"id":164411,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/103120\/revisions\/164411"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=103120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=103120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=103120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}