MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと
今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID
今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID
今回はOracleデータベースの標準機能だけでテーブルのパーティション化とそれに伴うパフォーマンス改善を実現する方法を紹介します。 本来Oracleでテーブルのパーティション化をするためには対応するエディションと追加オプションが必要なので活用できる環境にいる方は多くはなさそうですが、パーティション化自体のメリットは大規模DBだけでなく、中・小規模のDBでもパフォーマンスチューニングの手段として有
今回は社内向けに用意していたOracleにおけるインデックスのキー圧縮(接頭辞圧縮)機能の利用ガイドラインに解説を加えて外部公開します。 この機能はインデックスのパフォーマンス改善に対して効果的な一方でガイドラインがないと適切な利用が難しくもあります。そういった場合はぜひこのガイドラインをそのまま活用していただけたらと思います。 また本稿はインデックス設計についても多分に触れているので、キー圧縮
先日までかかわっていたPJで既存アプリの機能をSpring Bootベースの新規アプリに移植する作業を担当していました。 新規アプリなのでパッケージ構成の検討で色々悩みつつ反省もしつつ、ひとまずは落としどころが見つかったのでその辺りの話をまとめようかと思います。 要件・仕様 弊社の決済事業[Paid]での決済情報登録に関する一部機能を提供できるWebAPIを作成します。 機能の概要は以下の通り
2021.5.25
昔話には生きる上での数多くの教訓が込められています。今回は ごんぎつね からシステム設計・開発について考えてみましょう。 ごんぎつねの話はみなさんもご存じの通り、いたずらを悔いたごんぎつねが人知れず兵十という青年に贈り物を届けるも最後まで気づかれないまま火縄銃で撃たれてしまい、最後に「ごん、お前だったのか」となる話です。 さて、 達人プログラマー という書籍には 契約による設計(Design b
2021.5.17
会議中、雑談中などそれなんだっけ?や、なんとなく分かるけど説明は出来ないといったIT用語ってありませんか? 自分はよくあります! その場で相手に聞ければいいのですがなんか恥ずかしい、間が悪く聞けない なんていうこともありますよね? IT用語といってもかなりの数があるので全てはとてもまとめきれませんが、ここ1年位の間で自分がそれなんだっけ?や曖昧になっているとなった割と常識と思われる用語を簡単にまと
2021.4.30
ここ最近は、あるデータベースの文字エンコードをUTF8に変更するプロジェクトに参加しています。 そのプロジェクトの中でPDFファイルに埋め込むフォントの調査を行いました。 EUC-JPの範囲では問題なく使えていたフォントでしたが、テーブルがUTF8になると生成されるPDFで一部の文字が正常に表示できなくなるという問題が見つかりました。 調査の結果、PDFファイルに埋め込んでいたフォントに該当文字
2021.4.28
弊社サービスのスーパーデリバリーに、RNN(*1)を使った商品リコメンドを載せることは出来ないかな?と思い、機械学習初心者がPytorchを使って、プロトタイプを作ったのでまとめます。 今回作成したニューラルネットは、RNNを中心としたもので、 商品IDを埋め込んだベクトルを作成→RNNに入力→全結合層に入力するというモデルです。 このモデルを損失関数を交差エントロピーとして、確率的
2021.4.21
普段はWebの開発業務に携わっていますが、最近、プライベートでFlutterを使ったAndroidアプリ開発にチャレンジしています。 Flutterでは、クロスプラットフォームなマテリアルデザインのWidgetやIcon等が標準で用意されており、コードベースで簡単にUIを作ることができます。また、Flutterで採用されているDartという言語は、JavaとJavaScriptの中間のような印象で
本記事では、検索エンジン「Bing」のAPIの1つである「Bing Search API」を使用するまでの手順をご紹介します。 Bing Search APIとは Microsoftの提供する検索エンジンであるBingでの検索結果を取得するためのAPIです。 ブラウザからの検索のようにウェブページだけではなく画像やニュースの情報も取得することができます。 API利用手順 APIを利用するま
2021.3.31
今回はe2eのテスティングフレームワークであるCypressを導入したので、その導入についてのお話です。 なぜCypressを導入したのか URIHOのお客様に使用していただいている画面はSPAで構築してあります。そのためSPAに対応したe2eのツールが必要になりました。今まではseleniumを使用していたのですが各個人の環境の設定が手間、SPAで使用するとなるとDOMが出現するまで待つとい
2021.3.1