列指向データベースとは何か? まず、従来のRDMS(MySQL、Postgress、Oracleなど)は行指向データベースと呼ばれています。 これは行ごとの処理が基本(Insert, Update, Delete)が基本となり、列ごとの集計(MIN、MAX、AVG)は関数として処理された結果とし…
ドキュメントDBとは何か? ドキュメントDBのメリットは? ドキュメントDBのデメリットは? mongo dbを触ってみる データのinsert select文(findメソッド) update文 ドキュメントDBとは何か? JSONやXMLであらわされるドキュメントをベースにしたデータベースの…
データベース種類一覧 データベースには以下の種別がある リレーショナルデータベース MySQL PostgreSQL Oracle Microsoft SQL キーバリューデータベース Redis Amazon DynamoDB Riak KV ドキュメンデータベースト MongoDB Couchbase AWS DocumentDB 列思考…
このページの目的 コンポーネントのドメインが名前空間によって明確に分けられてる場合、そのコンポーネントの分離をサービスレベルにまで分離し、サービスベースアーキテクチャを構成する。 サービスベースアーキテクチャとは? サービスベースアーキテクチ…
この記事の説明 システムにおけるスケーラビリティと弾力性の違いを説明するサイトです。また、スケーラビリティ/弾力性を高めるためにはどのようなシステム構成にするべきなのか、どのようなシステムがスケーラビリティが高いと言えるのかについても触れて…
この記事の説明 機能の追加、変更、削除だけでなく、バッチファイルやフレームワークなどのアップグレードの適応も容易である性質を意味する。では保守性の低いシステムとはどのようなシステムだろうか この記事の説明 そもそも保守性とは 保守性の低いシス…
この記事の内容:ソフトウェアアーキテクチャの概要と選択 参考:fundamentals of software architecture pdf アーキテクチャを学ぶ意味 アーキテクチャとは アーキテクチャスタイルを覚える意味 見習うべきではないスタイル:巨大な泥団子 補足:なぜアーキ…
アーキテクトがアーキテクチャ特性を明らかにして改善するべき優先順位をつけた後、 開発者にその優先順位を守ってもらうためにはどうすれば良いか。 特に、「アーキテクチャのモジュール性」は緊急ではないが重要であると誰もがわかっているはずだ。 しかし…
アーキテクトはシステムを分析し続けなければならない アーキテクトはプロジェクトのあらゆる局面で、さまざまな観点からシステムの要件を分析し続けなければならい。 パフォーマンス、弾力性、スケーラビリティなどの運用特性から、モジュール性やデプロイ…
この記事の内容 この記事ではユーザーから要件を抜き出すための方法について説明します。 どんな用件があるかは以下の記事から確認しておきましょう。 https://minegishirei.hatenablog.com/entry/2023/02/07/114407 非機能要件一覧をユーザーに出してもらう…
この記事の説明 非機能要件に関する用語と一覧です。 システムが担保するべき能力の全てを記述しました。 非機能要件とは 非機能要件一覧 アーキテクチャ運用特性一覧 可用性 継続性 パフォーマンス 回復性 信頼性/安全性 堅牢性 スケーラビリティ アーキテ…
この記事の説明 アーキテクト同士の会話で出現するキーワードとその意味を集めました。 例)結合(動的、静的)、アーキテクチャ量子、通信方式など アーキテクチャ用語集 コンポーネント サービス 結合 静的結合 動的結合 結合を取り巻くトレードオフ 結合…
ソフトウェアアーキテクトはなぜ本を書いたり、講演をするのか? それは単なる目立ちたがり屋という訳ではなく、 単純に新しいアイデアを見つけてそれを広く知ってほしいからである。 例えば、ソフトウェア開発者であれば現在の問題に対してグーグル検索に頼…
Oracle Bronze SQLで出てくる基礎的な用語を集めました。 SQL用語集 リレーショナルデータベース データベース 行(ROW) 列(COLUMN) フィールド NULL値 主キー 外部キー 射影 選択 結合 SQL文の分類 DML(Data Manipulation Language: データ操作言語) DMLの…
oracleで使用可能な関数一覧 UPPER関数 LOWER関数 INTCAP関数 CONCAT関数 SUBSTR関数 LENGTH関数 INSTR関数 LPAD,RPAD関数 TRIM関数 REPLSCE関数 ROUND関数 TRUNC関数 MOD関数 現在時刻を返す関数 日付の四則演算 日付-日付 日付 + 日付 MONTHS_BETWEEN関数 …
SELECT文 SELECTによる射影 全ての列のとりだし SELECTによる選択 表構造の表示 SELECTでの算術使用 列別名の使用 文字列の結合 代替引用符(q)演算子 重複行の削除 複数列の重複行の削除 WHERE句 文字列や日付の比較 比較演算子 WHERE句での列別名は使用がで…
名前空間を整備する まず、モノシリックアプリケーションの分解では、その足掛かりとして目指すべきアーキテクチャはサービスベースアーキテクチャである。 コンポーネントドメインを作成することは、サービスベースアーキテクチャへの移行を手助けする。 コ…
モノシリックなアプリケーションを分散アーキテクチャに移行する際には次の3つの質問に答えられる様にしておく必要がある。 既存のアプリケーションは分解可能なのか? 必要なのはコードの書き直しなのか?それともリファクタリングなのか? 移行にかかる費…
コンポーネントの継承のデメリット 例えば、次の二つの名前空間があるとする survey(クラス含む:アンケートの通知やアンケートの作成を行う) survey.templates(クラス含む:アンケートのテンプレートを含む) この二つは、明らかに親子関係が存在する。 …
ソースコードの再利用性を高める 前回までの内容 minegishirei.hatenablog.com 前回までの内容で、コンポーネントの機能を増減させて適切なサイズにウェイト調節しました。 今回は、共通のサービスを特定・統合することで、ソースコードの再利用性を高める。…
この記事の内容 アーキテクチャスタイルに幾つかのケースがあるのと同じように、 リファクタリングの手法にも明確な6段階の手順が存在します。 今回の記事の目的はリファクタリングを行う2通りの方法について説明します。 大規模なリファクタリングを行う前…
この記事について アーキテクチャのモジュール化・リファクタリングのメリット そもそもシステムは常に変化するものである リファクタリングが必要となる具体例 1.システムのパフォーマンスを改善するためにリファクタリングを行う 2.アジャイルなビジネスに…
なぜマイクロサービスアーキテクチャなのか? 再利用か分離か 再利用のメリットとデメリット 分離のメリット 強制的に分離する手段 マイクロサービスアーキテクチャの概要 マイクロサービスアーキテクチャの構成要素 マイクロサービスアーキテクチャのサイド…
スペースベースアーキテクチャが解決する課題 スペースベースアーキテクチャの概要 スペースベースアーキテクチャの構成要素 スペースベースアーキテクチャの処理ユニット アプリケーションコード インメモリデータグリッドとレプリケーションエンジン サン…
イベント駆動アーキテクチャ - ブローカータイプ - イベント駆動アーキテクチャのブローカータイプの実装方法 ブローカータイプの構造 ブローカータイプのメリット ブローカータイプの開発事例例 イベント駆動アーキテクチャ メディエイターパターンとは イ…
サービスベースアーキテクチャとは サービスベースアーキテクチャは、マイクロサービスアーキテクチャの要素もある、分散型のアーキテクチャだ。 しかし、マイクロサービスやイベント駆動のタイプに見受けられる複雑さやコストがなく、多くのビジネスアプリ…
レイヤードアーキテクチャは、n層アーキテクチャとも呼ばれており、最も一般的なアーキテクチャのうちの一つだ。このアーキテクチャはシンプルさや親やすさ、コストの低さからほとんどのアプリケーションのスタンダードの形となっている。 minegishirei.hate…
パイプラインアーキテクチャとは 概要 パイプ フィルター パイプラインアーキテクチャの威力 具体例1:関数型 具体例2:Apache kafka パイプラインアーキテクチャのメリット デメリット 備考 パイプラインアーキテクチャとは ソフトウェアの歴史の中で繰り返し…
OSQLEDITとは? OSQLEDITの開き方 ユーザーアカウントを記録する SQLの実行のやり方 (OSQLEDITでの) 別の実行方法 新しいエディタを開く 別のエディタで開いているファイルを開く データベースを探す SQLを作成する。 INSERT DELETEの作成 さらに効率的なDELE…
Docker入門 関連記事 Kubernetesのクラスタの全体像 Kubernetesのクラスタの構成要素 Kubernetesのコントロールプレーンについて コントロールプレーンの障害対応 コントロールプレーンの障害対応 ノードのコンポーネント ワーカーノードの障害体制 Docker入…