Video: Čeští šéfové o in-memory computingu

Můj názor  |  zobrazit i odpovědi (trvale)  |  řadit od nejstarších Komentáře nyní řadíme od nejnovějších.
Tímto odkazem můžete řazení změnit.
 |  nových názorů: 13

Názory k článku

06. 06. 2012 11:27

Opravdu hezky nacvičená řeč, které ovšem někomu, kdo se v této oblasti běžně nepohybuje, neřekne vůbec nic. Informace o tom, kolik procent dat je ve strukturované podobě a jaký objem dat je vytvořen za časové období, jsou sice zajímavé, ale ponižuje to celou prezentaci na čistý marketing toho, aniž by se kdokoliv dozvěděl, jak in-memory comuting vlastně funguje. Kupte si hrnce, určitě je budete potřebovat protože jíst musíte, ale nemusí Vás zajímat v čem jsou lepší, hlavně když je zaplatíte.Protože se v této oblasti pohybuji, udělám za pány špinavou práci a stručně se pokusím specifikovat, o co vlastě v in-memory comutingu jde a proč je to vlastně "cool" :) Protože in-memory computing staví právě na zpracování dat v paměti a každá společnost má vlastě svůj vlastní systém, jak toho optimálně dosáhnout a nejsem rozhodně expert na všechny, pokusím se to vysvětlit na konkrétní Microsoft technologii.Všechna data, která mají být při dotazu zpracována, musí mít systém v paměti, to není nic nového.
In-memory databáze nebo objekty ovšem optimalizují práci s daty obzvláště v těchto směrech :
- vysoká míra komprese dat
- optimalizace paralelního zpracování
- odlišný způsob uložení datKonkrétně například nový typ indexu v MS SQL Server 2012 Enterprise Edition, který se nazývá Columnstore index.
Běžně jsme zvyklí, že se data v tabulkách ukládají v podobě řádků. Když chcete vypočítat třeba sumu nad konkrétním sloupcem prodeje, databázový systém si všechny řádky uloží do paměti a pak z každého řádku vytáhne hodnotu sloupce a zpracuje ji. Tento postup se nazývá Row mode nebo row-at-time. Musí tedy do paměti umístit celé řádky, byť z nich potřebuje pouze jediný sloupec.
Columnstore index ukládá data nikoliv po řádcích, ale uloží data každého sloupce samostatně. Při počítání sumy nad sloupcem tedy stačí vzít tu část, která prokazatelně obsahuje pouze hodnoty konkrétního sloupce a ne celé řádky. Protože hodnoty z jediného sloupce uložené pohromadě mají často podobné nebo stejné hodnoty, tento způsob uložení je výrazně efektivnější pro kompresní algoritmus (hodnoty 1000,1001,1002,1003 atd mají stejný prefix 100 a proto není nutné ho ukládat mnohokrát, ale stačí jednou... tak pracuje komprese).
Při zpracování dat je celý sloupec rozdělen na části, obvykle obsahující asi 1000 záznamů a každá ta část je zpracována hromadně, čemuž se říká Batch mode nebo batch-at-time. Při paralelní operaci tedy dochází k tomu, že každé vlákno zpracovává jednotlivé, podobně velké skupiny a nemusí docházet k tak časté výkonnostně náročné synchronizaci práce vláken, které známe ze současných systémů.
No a poslední optimalizace vyplývá z již řečeného, potřebujete sumu nad jediným sloupcem (nebo několika) ? Stačí do paměti uložit pouze a jen data toho sloupce, ne celé řádky tabulky, tedy várazné snížení I/O operací při čtení dat z disku do paměti a výrazně menší paměťové nároky pro uložení dat (také díky kompresi).Fakta jsou jasná a opravdu to funguje, není to jen tak nějaký výmysl jak prodat novou technologii bez reálného užitku. Osobně mám technologii vyzkoušenou a tentokrát marketing nelže... pokud je implementace provedena správně, snížení délky trvání dotazů nad objemnými daty je i (původní čas/100) nebo více.
Nad malým objemem dat to nemá smysl... Ale podařilo se mi simulovat případ, kdy z původních 12 sec doby zpracování byl výsledek nove za 0.2 sec (což je u tak krátkého dotazu směšné).

Souhlasím  |  Nesouhlasím  |  Odpovědět
01. 06. 2012 21:55

Roman Teiml docela fail, kedže je úplne jasné že to číta z obrazovky :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
30. 05. 2012 16:23

In-memory computing sa prezentuje ako nejaký nový trend v IT ale v skutočnosti je za tým všetkým SAP so svojou HANA (in-memory) databázou, a to celé je plus minus marketing.Jasné že ceny RAM padajú, ale v súčasnosti je skôr bežné že databáza je rádovo 10x väčšia ako RAM na danom stroji. Povedzme že DB ma rádovo stovky GB a RAM desiatky GB. A tie databázy a OS s tým dokážu žiť a podávať slušný výkon.Takže ano primerná RAM na priemernom servery bude z cenových dôvodov rásť. Ale na druhej stráne aj databázy sa zvyknú nafukovať a preto som si nie istý či v blizkej dobe môžem očakávať masívny nástup in-memory databáz.A ešte doplním že aj ORACLE predáva online databázy a iba s malým úspechom samozrejme..

Souhlasím  |  Nesouhlasím  |  Odpovědět
30. 05. 2012 13:26

In-memory computing takes advantage of a better understanding of how data is shaped and stored, the constantly falling price of memory and the related greater affordability of faster solid state memory to do away with the traditional concept of storage. Instead, data is stored directly in the computer's memory. As a result, when it needs to be analysed it is already available and can be accessed near-instantaneously.Jinými slovy, Velcí Manažeři Co O Všem Rozhodují objevili existenci RAMky.http://www.computerweekly.com/opinion/Can-in-memory-com... ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
30. 05. 2012 10:05

koukam tady je zas na slovo vzatych odporniku.. ze se kamenicek s vladkem a spol. nezeptali predtim nez vlezou do televize vas, co?
in-memory computing neni o tom ze si nekdo vsiml ze pocitac muze mit vic nez 1GB RAM jak tu nekdo poznamenava.. mimochodem dnes pro server byva standardem desitky GB, lepsi mivaji stovky GB RAM, to je zas celkem nepredstavitelne cislo pro vas uzivatele pececek. velka RAM je jen soucast celeho systemu, pokud o tom chcete vedet vice, podivejte se jak treba funguje SAP Hana.

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
avatar
30. 05. 2012 09:14

No tak to nám toho teda řekli
Pro běžnou firmu je tohle nepříliš použitelné - ta která to potřebuje, už to dávno má.
Tohle je spíš PR pro klienty co odebírají jejich systémy aby měli pocit že jsou stále "in".
Že to jede...

Souhlasím  |  Nesouhlasím  |  Odpovědět
30. 05. 2012 02:43

Nějak mi tu chybí info "jak to vlastně funguje". Teď vím, že je to super věc, ale stále nevím co to je :DNebo jestli to je něco primitivního jako: Připojim k počítači velkou RAM paměť a data budu uchovávat primárně tam a nebudu je číst z disku, tak to je snad samozřejmost. A nebo až teď objevili znovu to co je dávno zřejmé?

Souhlasím  |  Nesouhlasím  |  Odpovědi (4)Zavřít odpovědi  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor