Кіріспе

Деректер базасында кэштелген сұраныс нәтижелері

Есептеуде материализацияланған көрініс – бұл сұраныс нәтижелерін қамтитын деректер базасының нысаны. Мысалы, ол қашықтан орналасқан деректердің жергілікті көшірмесі болуы мүмкін, немесе кесте немесе қосылыс нәтижесінің қатарларының және/немесе бағандарының ішінара жиынтығы болуы мүмкін, немесе жиынтық функцияны қолдана отырып, қорытынды дерек болуы мүмкін. Материалдық көрініс құру процесі кейде материализация деп аталады. Бұл функционалдық тілдерде функцияның мәнін жаттауға (мемоизациялауға) ұқсас, сұраныстың нәтижелерін кэштеудің бір түрі және кейде ол алдын ала есептеу түрі деп сипатталады. Алдын ала есептеудің басқа түрлері сияқты, деректер базасының пайдаланушылары көбінесе өнімділік үшін, яғни оңтайландыру түрі ретінде материалдық көріністерді пайдаланады. Қашықтағы кестелерге негізделген деректерді сақтайтын материалдық көріністер бұрынғы суреттер (ескірген Oracle терминологиясы) деп те белгіленген. Кез келген реляциялық модельді ұстанатын деректерді басқару жүйесінде көрініс – деректер базасын сұратудың нәтижесін көрсететін виртуалды кесте болып табылады. Қарапайым көріністің виртуалды кестесіне сұрау немесе жаңарту келгенде, ДБЖС оларды негізгі кестелерге қатысты сұрауларға немесе жаңартуларға түрлендіреді. Материалдық көрініс басқаша әрекет етеді: сұрау нәтижесі нақты ("материалдық") кесте түрінде кэштелген (көрініс емес), ол бастапқы негізгі кестелерден уақыт өте жаңартылуы мүмкін. Бұл қосымша сақтау және кейбір деректердің ескіру мүмкіндігі есебінен, тиімдірек қол жеткізуді қамтамасыз етеді. Материалдық көріністер, әсіресе деректер қоймасында жиі қолданылады, онда негізгі кестелерге жиі сұраныс жасау қымбатқа түсуі мүмкін. Материалдық көріністе кез келген бағанға индекстер құруға болады. Керісінше, қалыпты көріністе, әдетте тек негізгі кестелердегі индекстелген бағандардан тікелей келетін (немесе сәйкес келетін) бағандарға ғана индекстерді пайдалануға болады; көбінесе мұндай мүмкіндік мүлдем ұсынылмайды.

Ағынды өңдеу жүйелері

Apache Kafka (v0.10.2 нұсқасынан бастап), Apache Spark (v2.0 нұсқасынан бастап), Apache Flink, Kinetica DB, Materialize және RisingWave деректер ағыны бойынша материалдалған көріністерді қолдайды.

Басқалар

Материалданған көріністер Sybase SQL Anywhere жүйесінде де қолдау көрсетіледі. IBM Db2 жүйесінде олар "материалданған сұраныс кестелері" деп аталады. ClickHouse біріктіру кезінде автоматты түрде жаңарып отыратын материалданған көріністерді қолдайды. MySQL жүйесі материалданған көріністерді тікелей қолдамайды, бірақ триггерлер немесе сақталған процедураларды пайдалану арқылы немесе ашық кодты Flexviews қолданбасын қолдану арқылы шешімдер табуға болады. Материалданған көріністерді Amazon DynamoDB жүйесінде DynamoDB ағындары арқылы тіркелген деректерді өзгерту оқиғаларын пайдаланып іске асыруға болады. Google 2020 жылдың 8 сәуірінде BigQuery үшін материалданған көріністердің бета нұсқасы ретінде қолжетімді екенін жариялады.