■「知識を得る」「知識を理解する」の違い

行思考、列思考DBの違いを、自分なりに反芻・咀嚼してみる。

この反芻・咀嚼という行為で私は、「知識を得る」以上に「知識を理解」してきたのだから、私にとってこの過程はとても大事。

 

■図にもあるが…

行思考DBには「行検索を高速化する為に、行単位のINDEXが張られている」

列思考DBでは「INDEXの替わりに『ソートキー』なるものが存在する」

 

上記は多分。

行思考DBでは、索引を利用して行を高速に検索するが、列思考DBでは列思考の為「行を特定する為のINDEXが存在不可能」

従って、どの様に対象行を特定するのかと言えば、sortが重要となると言う事。

これは、列思考DBがデータ検索に二分探索を用いている事を示唆する。

 

つまり行探索速度については、行思考DB程高速にはならないものの、列単位でデータが固まっているのでolap関数(統計系関数)の処理速度が速くなる事を示唆する。

また、行思考DBの場合でも、indexが複雑だったり、アナライズが適切でなかったり、参照するindexを間違ってる場合も考慮すれば、2文探索は行検索上でも安定した速度を得られる要因となるだろう。

 

上記を踏まえ、redshiftは列思考DBにしたのかな…。

こう言った「設計思想」のルーツを辿る旅は実に楽しい。

この様な思考が、物事の本質を知る事につながるのだ。

 

そう。

これはITの話ではない。

色々な学問、人生上、ありとあらゆる場面で登場する「思考の深さ」、それに起因する人格形成の問題である。