Na stránkách cloudsvět už jsme mluvili o time-series datech typických pro IoT senzory a procházeli možnosti ukládání těchto dat. Zmínil jsem, že existuje víc variant a všechny mají smysl – wide-column NoSQL jako Cassandra, NewSQL Vertica nebo i klasické relační databáze. Existuje ale i kategorie specialistů právě na tento typ dat a zkusil jsem se […]
Posts in category Scale-out datové modely
IoT: time series data a jejich ukládání
Senzorické informace jsou typicky kategorie “time series”, tedy jednoduché zprávy obsahující nějakou naměřenou hodnotu. Nejsem expert na data, ale z pohledu celkové architektury jsem se chtěl podívat jak se problém ukládání tohoto typu dat rámcově řeší. Jak vypadají time series data V zásadě pro každý senzor musíme mít jeho identifikaci a kategorizaci, tedy například, že […]
Proč je přenositelnost mezi cloudy složitější, než si myslí váš CIO
Chceme provozovat aplikace v různých cloudech a každý měsíc si prozkoumáme, kde je to teď nejlevnější a tam to popřesouváme. Také chceme dělat cloud bursting tak, že aplikace běží například v našem privátním cloudu a když potřebujeme přidat na výkonu, přisypeme si ho tam trochu z public cloudu. Také to chcete takhle? Je to podstatně […]
OpenStack Swift prakticky (5): řízení přístupu
Část 5 z celkových 6 v seriálu OpenStack Swift praktickyZatím jsme vytvářeli kontejnery, které byly dostupné pouze uživatelům našeho tenantu (tedy kromě vygenerování dočasné URL). OpenStack Swift ale disponuje možností vytvářet přístupová pravidla (ACL) jak pro čtení, tak pro zápis. Ve výchozím stavu nebudou žádná (tedy ke kontejneru mohou jen uživatelé tenantu). Můžete povolit přístup […]
OpenStack Swift prakticky (4): Dočasné URL
Část 4 z celkových 6 v seriálu OpenStack Swift praktickySwift kotejner můžete označit jako Private nebo Public. Může ovšem být situace, kdy obsah kontejneru nechcete volně přístupný všem, ale současně vznikne potřeba někomu dát velmi rychle a jednoduše možnost objekt stáhnout, možná i modifikovat. Například máte soubor ve Swiftu a na email je moc velký. […]
OpenStack Swift prakticky (3): omezení platnosti objektů
Část 3 z celkových 6 v seriálu OpenStack Swift praktickySwift umožňuje u objektu nastavit časově omezenou platnost a ten se ve stanovené datum a čas stane nepřístupným. Můžete tak zabránit k přístupu k dokumentům, které už v daný okamžik nebudou aktuální (standardy, výkresy). Ve Swift implementaci může rovněž běžet čistící proces, který takto vypršené objekty […]
OpenStack Swift prakticky (2): verzování objektů
Část 2 z celkových 6 v seriálu OpenStack Swift praktickyPrvní pokročilá funkce, kterou si vyzkoušíme, je schopnost Swiftu držet všechny předchozí verze objektu. Funguje to tak, že vytvoříme jeden kontejner pro archivaci starších verzí a také jiný kontejner, z kterého budou starší verze propadávat do archivu. Výsledkem bude, že v kontejneru budeme mít vždy nejposlednější […]
Praktický úvod do Redis (3): cluster
Část 3 z celkových 3 v seriálu Praktický úvod do RedisV závěrečné části seriálu o NoSQL in-memory databázi Redis si ukážeme, jak funguje clustering. Minule jsme rozebrali transakční zpracovaní a v první části jsme si Redis nainstalovali a naučili se používat. Cluster Redis cluster podporuje dvě základní operace – sharding a replikaci. Sharding je o […]
Praktický úvod do Redis (2): transakce
Část 2 z celkových 3 v seriálu Praktický úvod do RedisV minulém díle jsme se seznámili se základy práce s Redis, dnes se zaměříme na jedno pokročilejší témata – transakce. Transakce První potíž běžné práce s Redis spočívá v tom, že může být situace, kdy chceme nastavit hodnoty dvou klíčů, které spolu souvisí. Tedy nemá […]
OpenStack Swift prakticky (1): object store pro vás
Část 1 z celkových 6 v seriálu OpenStack Swift praktickyNa cloudsvet jsme se už seznámili s object storage obecně i s implementací v rámci OpenStack Swift. Přišel čas vyzkoušet ji prakticky. Klikáním k prvním pokusům Jak už jsme na cloudsvet zaznělo, Swift je vyvíjen v rámci OpenStack projektu. Dá se použít samostatně a také je […]
Praktický úvod do CouchDB (1): jednodušší to být nemůže!
Dnes se podíváme na NoSQL databázi, která není “jen” dobrá pro web – ona vlastně web je. Co je CouchDB Na stránkách cloudsvet jsme mluvili o MongoDB, která je nejúspěšnějším zástupcem NoSQL Document databází. Viděli jsme, že to co se ukládá, je relativně volná datová struktura popsaná jako JSON (uložená binárně jako BSON). CouchDB je […]
Praktický úvod do Redis (1): vaše distribuovaná NoSQL cache
Část 1 z celkových 3 v seriálu Praktický úvod do RedisRedis je úžasně jednoduché a při tom velmi mocné NoSQL in-memory key-value úložiště. Potřebujete akcelerovat vaší aplikaci jednoduše a při tom využít distribuované zdroje a současně mít redundanci nebo transakční ochranu? Tohle je úkol pro Redis. Redis – NoSQL in-memory kouzelník Pokud vaše aplikace musí […]
Praktický úvod do MongoDB (3): clustering
Část 3 z celkových 3 v seriálu Praktický úvod do MongoDBNejprve jsme se v seriálu o MongoDB seznámili se základním ovládáním, následně jsme se zaměřili na dolování agregovaných dat a dnes si ukážeme clustering. Clustering bude využívat dvou základních principů, které je možné (a vhodné) kombinovat. Replikace, která zajišťuje, že na vícero MongoDB nodech jsou […]
Praktický úvod do MongoDB (2): Indexy a agregace
Část 2 z celkových 3 v seriálu Praktický úvod do MongoDBMinule jsme se naučili MongoDB používat. Dnes si ho trochu “narychlíme” vytvořením indexů, ale hlavně se podíváme na velmi mocné možnosti agregování dat. Indexy MongoDB ve výchozím stavu optimalizuje svoje chování pro vyhledávání podle _id. Pokud se potřebujeme dozvědět víc o tom, co náš dotaz […]
Praktický úvod do MongoDB (1): NoSQL opravdu snadno
Část 1 z celkových 3 v seriálu Praktický úvod do MongoDBMongoDB je moderní a nejoblíbenější NoSQL databáze. V tomto dvoudílném seriálu ale teorii řešit nebudeme (úvod do NoSQL najdete na v tomto článku) – jednoduše si to vyzkoušíme! Instalujeme Instalace v Ubuntu 14.04 server je velmi jednoduchá: Pro základní seznámení s MongoDB použijeme příkazovou řádku […]
NoSQL: vaše jednodušší, levnější a škálovatelnější databáze
Ukládání strukturovaných dat bylo po tři dekády doménou relačních databázových systémů (RDBMS). Proč je nahradit za NoSQL, které stojí na zcela jiných principech? NoSQL vzniklo, protože relační DB neobstály v některých scénářích Na stránkách cloudsvet.cz už jsem shrnoval CAP teorém a ACID vlastnosti databázových systémů. Relační DB přináší ACID, tedy transakční konzistenci, která vede na […]
Jak OpenStack Swift ukládá data? Ve znamení kruhu.
Objektovou storage Swift už jsme na cloudsvet.cz představili, ale jak vlastně ukládá data? Proč dokáže efektivně běžet na prakticky libovolném počtu nodů a disky i nody můžete přidávat za plného provozu? Od file systému ke skutečné škálovatelnosti Připomeňme si, že adresa objektu je ve formátu země, město, ulice, tedy /account/container/object. Když Swift požádáte o objekt […]
DBaaS: vaše databáze na kliknutí
Pro vývoj, testování i produkci jsou databázové systémy důležité a mnoho času se spotřebovává na jejich instalaci, nastavení, replikaci a zálohování. Co kdybyste místo získání pouhé VM s nějakou šablonou (tedy IaaS) mohli podobným způsobem pracovat rovnou s databází? Vytvořit novou instanci, zajistit replikaci, provést zálohu nebo obnovení nebo vytvořit přístupový login? Co kdyby to […]
Úvod do Swift, objektového rorýse z dílny OpenStack
Swift, v překladu rychlý nebo také pták rorýs, je zástupce objektové storage, o kterých jsem obecně psal minule. Dnes si představíme tohoto zajímavého zástupce. Proč zrovna Swift? Protože je součást OpenStack projektu – a nejen to, společně s Nova (orchestrací virtualizace) je přímo dědou zakladatelem celého OpenStack. OpenStack Swift Před rokem 2010 vytvořil public cloud […]
Objektová storage i do ledničky
Na stránkách cloudsvet.cz máme rubriku Scale-out datových modelů – objektová storage je rozhodně zajímavým zástupcem. Jak funguje a jaké má použití? Proč ji nasadit a proč ne? Bloková storage aneb disk na kšandě Pevný disk začal jako jednotka připojená drátem k počítači a po mainframe začátcích dlouho představoval placatý SCSI drát mezi základní deskou a […]