Hekaton: Good or bad?

    July is coming to an end, and so far no one has remembered the CTP release of MSSQL Server 2014 on
    Habr. The release of the next year has been assigned the call sign Hekaton. Its appearance was announced at the PASS conference in 2012 and then it was only the name of the in-memory engine OLTP. Now this is the name of the whole release with built-in support and optimization of transaction processing directly in RAM.

    Let's turn to the history.
    If in ancient times (even in the harsh 70s when the saints Data and Codd worked at the IBM, and the 300 MB hard drive weighed like an adult sow)the data was optimized initially for storage on ... yes on anything: the tapes contained the modern files known to us consisting of the header, body and the end-of-file icon, there were no modern file systems on disks - the data from the database was plopped onto disks already marked up for storage data of a given table, that is, formatting was done by the database itself and under the storage of its own data. And there were still memory cells (data cells). They were a dream because they allowed random access to read and write at any time, but as expected they were expensive and really huge (640 KB in the memory cells for the 70th year would be enough for an Olympic record in the offset from the chest press). Years passed: the hefty bobbins of tapes turned into neat LTO cartridges, hard drives got file systems and also completely dropped in weight, and the memory cells turned into the well-known RAM and partially in the SSD. Technically, it seems to be a bright future, but no. Intrigues of enemies of effective computing and data processing were advancing on all fronts. An OOP appeared that instead of economical byte requests, started, under the leadership of Java, to pick megabyte and then gigabyte arrays directly in RAM and corrode it with corpses of undetected objects.

    At this time, the old-fashioned databases honestly believed that they were working with a hard drive, although they tried to drag them into RAM more, but they did it without much arrogance and bashfully called the word cache (English) - cash . That is, they could not say: “This table (base) will lie in RAM and period! ". And bashfully the hit cache statistics were displayed, either pleasing us with numbers like 99.8, then upsetting and disheartening by showing 25.2.
    Embedding the Hekaton engine in the core of MSSQL Server 2014 slightly expands the functionality.
    It would seem, how can this help simple DBA in business?
    I am attaching a few pictures from that scandalous conference in 2012. (piquant places highlighted):

    image

    image

    That is, we have the following. Not only can the table (database) be completely ejected into the RAM (bye RAM-drive for temp_db, although no, goodbye), the recompilation of the procedures of these databases will take place at the Native level, which for one part of the DBA will significantly increase the speed of work , and for others - will allow you to write more curved code without loss of performance.
    I can’t say that I’m shocked by this “revolutionary” “innovation”, but it’s just a monumental change compared to, for example, expanding the AlwaysOn group to 8 secondary servers (Has anyone seen read-intent support in 1C: Enterprise or in Navision? I don’t.) , or with the introduction of new fist whistles integrated with Office and Sharepoint fist whistles, for drawing comics on the theme “How We Spent the Quarter”.
    It is clear that a similar mechanism on various types of crutches already exists in many other DBMSs, but the main focus is that not everyone has a DBMS kernel level to put it mildly.

    Summary: Generally, as usual. A new release comes out, and the news from the category of those that were needed yesterday (now high-speed databases are actively crawling to SSD and this trick with memory is not really needed anymore), or simple decorators for the junior command middle management team. A jerk, like an implementation of SQL 3.0, or at least PL / SQL, did not happen again. Again did not wait.

    UPD: For those interested, a link to whitelists and other documentation. And I’ll go drink for the hopelessness of the release. All with a holiday.

    note: English cache, from fr. cacher - “hide”; pronounced [kæʃ] - "cache" is often confused with cash - actually cash. Given the prices of quick access devices - the second option is more vital. :)

    Also popular now: