Spring BootとVue.jsを用いたアパレル情報管理システムの設計と実装

技術概要 本システムは、Spring Boot(バックエンド)、Vue.js(フロントエンド)、MyBatis(データアクセス層)を統合して構築されたアパレル商品情報管理システムです。Spring Bootによる簡潔なAPI設計、Vue.jsによるリアクティブなUI、MyBatisによる柔軟なデータベース操作を通じて、効率的かつスケーラブルなアプリケーション構築を実現します。 バックエンド:Spring ...

6月19日 16:43 投稿

MySQLにおけるデータベースとテーブルの分割手法

データ分割の必要性 大規模データ処理において、以下の問題が発生した場合に分割が必要となります: データ量の膨大化 クエリ性能の低下(20msから指数関数的な増加) データベース接続数の不足 分割手法の分類 データベースとテーブルの分割には垂直分割と水平分割の2種類があります。 データベース分割 垂直分割:機能単位での分割(例:ユーザー、注文、商品データ ...

6月18日 21:43 投稿

MySQLにおけるストレージエンジンの仕組みと選定基準

MySQLアーキテクチャとストレージ層の位置づけMySQLサーバーの内部処理フローは、クライアント接続を管理する通信層、クエリの解析とキャッシュを担うサービス層、データの永続化および検索パスを実行するエンジン層、そして物理メディアへ書き込むストレージ層の4階層で構成されています。バージョン5.5以降、システム標準のバックエンド処理はInnoDBに統一されていますが ...

6月18日 17:40 投稿

MyBatis Generatorを使ってDBテーブルからJavaモデルとMapperを自動生成する

概要 手作業でエンティティクラスやXMLマッパーを書くのは時間がかかりがちです。MyBatis Generator(MBG)を利用すれば、既存のデータベーススキーマを読み取り、POJO・Mapperインターフェース・SQL XMLを一括で作成できます。以降ではMavenベースのプロジェクトでMySQLテーブルt_userを題材に、MBGを実行する手順を紹介します。 1. Maven依存とプラグイン設定 pom.xmlに ...

6月17日 23:57 投稿

Docker環境におけるMySQLのマスタースレーブレプリケーション構成

1. マスタースレーブ構成の基本概念 マスタースレーブ構成では、マスターサーバーが書き込み操作(INSERT, UPDATE, DELETE)を担当し、スレーブサーバーが読み取り操作(SELECT)を担当します。これによりデータベースの読み書き分離が実現されます。 2. 環境準備 2.1 ファイアウォールとSELinuxの無効化 # ファイアウォール停止 systemctl stop firewalld systemctl dis ...

6月17日 23:44 投稿

MySQLのSUM関数で小数点以下の桁数を制御する方法

MySQLでSUM関数を使用して数値の合計を計算する際、浮動小数点数やDECIMAL型のカラムを扱うと、意図しない多くの小数点以下の桁数が返されることがあります。本記事では、このようなケースで結果を適切に丸めたり、桁数を調整する方法について解説します。 SUM関数の基本的な挙動 SUM関数は指定したカラムの値を合計しますが、元のデータ型に応じて結果の精度が異なりま ...

6月17日 22:57 投稿

単一サーバーにおけるLAMPアーキテクチャの実装(モジュール方式)

LAMPアーキテクチャとは LAMPは、Linux、Apache(httpd)、MySQL/MariaDB、PHP の頭文字を取った用語で、Webアプリケーションを構築するためのオープンソース技術スタックです。本稿では、単一サーバー上でPHPをApacheのモジュールとして統合する形態での構成方法について説明します。 Webリソースの種類 静的リソース:HTML、CSS、JavaScript、画像ファイルなど、サー ...

6月17日 20:20 投稿

MyBatis における多表結合查詢とページネーション実装

概要 MyBatis フレームワークを用いた開発において、複数のテーブルを結合したデータ取得および結果のページネーション処理は頻出する要件です。本稿では、動的 SQL 機能を活用し、単表查詢を超える複雑な結合查詢の実装方法と、MySQL 環境における効率的なページネーション仕組みについて解説します。 ドメインモデルの定義 まず、データベースのレコードを映射する Java ...

6月15日 22:21 投稿

データベースパフォーマンス評価のためのsysbenchベンチマークガイド

バージョン: sysbench 1.1 概要 sysbenchはLuaJITに基づくスクリプト可能なマルチスレッドベンチマークツールで、主にデータベースのベンチマークに使用されます。単一ポイントの読み書き、ランダム読み書き、混合読み書きなど、様々な種類のテストをサポートしています。 sysbenchはJDBCを介してデータベースに接続するのではなく、専用のクライアント依存関係を利用しま ...

6月15日 22:19 投稿

MySQLの基礎構造と運用ベストプラクティス

データベースおよびオブジェクトの操作 MySQL環境を構築・運用する際、最も頻繁に使用するスキーマレベルとテーブルレベルの操作は以下の通りです。 スキーマの生成 CREATE SCHEMA company_db; テーブル定義の管理 作成: CREATE TABLE employee_records (emp_id INT PRIMARY KEY, department VARCHAR(50), salary DECIMAL(10,2)); 構造変更: ALTER TABLE employee_records ...

6月15日 17:31 投稿