この件⇒ https://togetter.com/li/1452558
ユニケージはbashのパイプで作られた、RDBMSを使わずテキストファイルによる空白区切り行志向レコードへのデータ処理(だいたいプログラム1本の処理内容がメインフレームのCOBOLのそれと同じくSQLクエリ1個に相当する)で、同形式によるマスタとトランザクションファイル(RDBMS内部のredoログに相当)を使う(データに含まれる空白文字0x20はアンダーバー0x5Fに置換する、アンダーバーが複数存在するデータの場合どう扱うかは知らない)
開発と更新は早いんだけど参照が(テキストファイルなので)インデクスが効かないためシャーディングするしかなく、要するに検索機能の柔軟性がなく、リアルタイム性を損なう
おそらく基幹系というか在庫管理をユニケージでやっているので、ウェブサイト自体はユニケージで実装されていないかもしれないけど、しかし根幹に上記のような手作りのデータベース実装があるし、RDBMSに移行するとなると全部を止めてマスタとトランザクションファイルをマージしてインポートすることになる
追記:トランザクションファイルのマスタへのマージは営業時間後の日次バッチとかでやるはず
システムを止めている間も店舗が運営を続けているなら、たとえば店頭在庫を潤沢に積んだうえで、店舗間での在庫の融通は禁止し、店頭での売り上げ分はどこかでRDBMSに計上しなければならない
追記:テキストファイルに対するインデクスをつくって行頭へのシークの高速化をすること自体はもちろん一般的には可能だけど、ユニケージの方法論だとそれをする標準的な方法はないはず。ユニケージはRDBでもNoSQLでもなく、バイト位置でのシークという操作自体がない世界なので。sedとかで行の差し替えをした場合(SQLのUPDATE相当)当然行頭のバイト位置が変更した行以降ですべてずれてしまう可能性があるのでインデクスの更新がひどく非効率になる
インデックスがきかないって、 最近のその手のアルゴリズムはインでクスありのアルゴリズムに更新しているから インでクスがきかないのではなく、インでクスを効かせていないの誤り...
SQLあり インでクスあり リレーショナルあり SQLあり インでクスあり リレーショナルなし SQLあり インでクスなし リレーショナルあり SQLあり インでクスなし リレーショナル...
何で書いているか?というと SQLでリレーショナルなしにできるというのと いまどきはNoSQLと呼ぶというのをスクールはしっかり頼む
このさきDBの複雑な事をおしえるためにリレーショナルとはなにか?インでクスとは何か?SQLとはなにか? というのを概念を間違えて変な癖がつくと現場が困る
SQLあり インでクスあり リレーショナルあり SQLあり インでクスあり リレーショナルなし SQLあり インでクスなし リレーショナルあり SQLあり インでクスなし リレーショナル...