信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

LIST OF ARTICLES

記事一覧

  • テクログ

    ブロックチェーンくらいしか書くことがない

    皆さん初めまして。初めましてじゃない方も初めまして。しゃむぽんです。今回まじで何もネタ考えてなくてつい先週ブロックチェーンの講義受けたのくらいしか思いつかなかったのでこれ書きます。ご存知の方も多いかとは思いますが、とりあえずブロックチェーンとはなんぞやから書いていきますね。◆ブロックチェーンとは・データ管理技術の一つで仮想通貨の中核技術。・取引データをネットワーク上のコンピュータに分散して管理する分散型台帳技術。・通常のデータベースが一元管理を基本とするのに対し、台帳管理を基本とする。雑に説明するとネットワーク中にワラワラいるユーザー(一般ピーポー)が全員でデータを管理して台帳のようにデータを管理する方法らしいです。基本的には仮想通貨だったりを取り扱う金融系の企業で取り入れられることが多いみたいですね。誰もがデータを持ってて、誰もがそれを閲覧できるってすごいですよね。仕組みとしては以下のように各ブロックが連鎖的にデータの関連を持っていて、改竄が非常に難しい作りになっているみたいです。①隣のブロックが発行したハッシュ値②NONCE(ナンス)  ※ハッシュ値出すとき専用のデータっぽいです。詳しくはggってください。③取引データの要約の3つを用いてハッシュを作り、さらに隣へ渡してハッシュ値を作って…と連鎖させているそうです。なので改竄する場合、全てのデータを改竄する必要があるので事実上困難。というわけですね。各ユーザー(ブロック)が繋がっている(チェーン)からブロックチェーンなんですね。まんまですね。直近で活用することはなさそうですけどいつか活用したい技術ですね。発想がほんとすごい。ほいでは!
  • テクログ

    MySQLパーティショニング実践編

    MySQLパーティショニングの話をします!基本的なことや導入方法はグーグル先生で検索するといっぱい出てくるのでそちらで。☆パーティショニングが適切なパターンそもそも自分が考えるパーティショニングが適切であるパターンは、・int型のカラムでステータスを判定している(パターン分岐がそれほど多くない)・一週間毎に生成されるようなデータなどつまりあまりパターンが多くなく、indexが効きづらいものですね。イメージとしては、別テーブルに分けるという選択肢が出てくるものが適切だと思います。(パーティショニングってそういうことやってる訳ですし)☆実際に導入した時に気をつけたこと導入した事例の仕様は・一週間毎にユーザーに紐づいた計算されたレコードができる(200万くらい)・そのデータを一週間ごとで参照する▼レコードを入れる前にパーティショニングまず、パーティションの導入はテーブルを新規作成するときに行いました。テストで2ヶ月分、1000万レコード程度が存在する想定の状態でパーティショニングをして見ましたが、全然終わりませんでしたwなるべくサービスを止める選択を取りたくなかったため、事前にパーティショニングされたテーブルにinsertする形になりました▼PHP側の定期バッチで一週間毎にパーティションを追加今回の仕様的に定期的なパーティション追加が必要でした。と言っても簡単なSQLを流すだけです。▼そもそもパーティションを考えたテーブル構成にするパーティションの判定をするカラムがuniqueなindexに含まれている必要があります。とはいえ複合主キーとかに含めるだけでもオッケーです。逆にここで想定していたカラムが上手くユニークにできない場合、おそらくパーティションするのに向いていないです。長々と書きましたが、結構導入は簡単です!パーティションを辞めるときにデータが消えたりもしませんし。気になる方はやってみましょう!