IT for Dummies

インターネットってなに?サーバーってなに?データベースってなに?

カオマンガイ

こんにちは、シェイミです。

久々の更新となってしまいましたが、いつかのごはんです。

お米とパクチーが余ってたのでカオマンガイ弁当作りました。

ネギたれ何にでも合っておいしいです。

 

 

 

結合処理ってなに?

結合処理

異なる表を照らし合わせて様々なデータの組み合わせが簡単にできる

1. ネステットループ:データをひとつずつ参照

2. ソート・マージ結合:並び替えておいて先頭から拾い集める

3. ハッシュ結合:計算で割り振って同じ数を集める。ソートと比べて仕組みが簡単なので多量のデータで差が出る。

 

インデックス(索引)- B-tree Index (3回データにアクセスすることでデータによりう素早くアクセスできる)

 

南インドカレー

みなさんこんにちは。 シェイミです。

ブログを始めたものの、典型的な三日坊主で終わりそうなので、不定期でお弁当も載せてみることにしました。

直近のお弁当は、カレーパーティーで作った南インドカレー。 アジアのシリコンバレーでお馴染みの都市、バンガロール在住のお母様直伝レシピです。 (ちなみにバンガロールでは、インドの敏腕エンジニア達がイノベーションを起こしている傍で、ITパスポートの勉強をしてました)

パクチーとココナッツパウダーがポイント。

スパイスとバスマティ米はJR新大久保駅から徒歩約3分のイスラム横丁にある「THE JANNAT HALAL FOOD」で購入。各種スパイスが通常の1/10くらいの価格で手に入ります。ネオンの看板や時折飛び交う叫び声など、異国気分が味わえる楽しい横丁です。

ITの記事もお楽しみに!

SQLってなに?

SQL

リレーショナルデータベースを操作するための言語。SQLを使ってRDBMSに命令を出して、必要なデータをRDBに格納したり、取得できる。ANSIやISOによって規格化されている。RDBでは、データをから成る二次元の表形式で扱う。行は一件のデータ(レコード)を表し、列は各項目を表し、行と列が交わった部分をフィールドと呼ぶ。データはフィールドに格納される。表の形になっているデータのことを関係と呼ぶ。関係とは、ある条件を満たすデータの「集合」であるため、行や列の順番といった考え方がなく、データをストレージ上のどこに保存したかを意識する必要がない。そのため、私たちはデータの物理的な場所を全く気にせずに、正しいデータを取り出すことができる。SQLとは、データの集合、つまり関係を扱う言語である。特徴として、「フロー」や「処理」を考えるのではなく、必要なデータをフィルタするための条件を指定すること。

例)Oracle Database, Microsoft SQLServer, MySQL

SQLの機能

Data Manipulation Language (DML) - データを操作する言語

例)SELECT, INSERT, UPDATE, DELETE

Data Definition Language (DDL)- データを格納する表を作る時に使う言語

例)CREATE/ DROP/ ALTER/ GRANT/ REVOKE

‐トランザクションを制御するための言語

例)COMMIT, ROLLBACK

www.atmarkit.co.jp

Oracle Database SQL言語リファレンス, 11gリリース2 (11.2)

SQLを実行するツール

  1. SQL*Plus

  2. Oracle SQL Developer

  3. Oracle Application Express (APEX) ←演習ではAPEXのSQLワークショップを使用

関係演算の種類

射影- 問い合わせによって戻される表の列を制限すること。SELECT句に列名を指定し、特定列を取り出す操作。

選択- 問い合わせによって戻される表の行を制限すること。WHERE句に条件を指定して、特定行を取り出す操作。

結合- 表の間の関係を定義し、関係付けられた列と行を1つの結果として戻すこと。

NoSQL

APIってなに?

API (Application Programming Interface)

ソフトウェアの機能を共有すること

例)Facebookアカウントと連携させてInstagramのアカウントを作る

なぜ作られる?→より多くの新しいサービスを開発するため・データの二次利用

なぜ使うの?→開発の効率化・サービス利用者にとって便利

RASISってなに?

Reliability Availability Serviceability Integrity Security

Reliability (信頼性):故障やエラーによってどれくらい障害が発生するかを評価

Availability (可用性):サーバの稼働時間に対して、障害における停止時間がどれくらい発生しているかを算出することで、稼働率を評価。(1台こけても止まらず運用可能)

Serviceability (保守性):いざ障害が発生してから機能が元どおり使えるよう復旧するまでの時間。障害対処やメンテナンスにかかる時間や作業工数を可視化

Integrity (保全性・完全性):障害や障害一歩手前の高負担な状況においてもサーバ内のデータが正しく保存されるか評価

Security (セキュリティ):サーバが不正アクセスや攻撃から保護され、安全に稼働できているかを評価する指標

フルスタックってなに?

フルスタックの構成

  • Application
  • Middleware
  • Database
  • Operating System (OS)
  • Virtual Machine (VM)
  • Server
  • Storage

Application

業務をより円滑に行なっていくためのソフトウェアの機能や、自動化する仕組み。
例)採用プロセス、給与支払いの管理など、業務時代の効率化

Middleware

ハードウェアとアプリケーション、もしくは複数のアプリケーションをつなぐソフトウェア。
OSやハードウェアの違いを吸収させ互換性を高める。
例)Java, Fusion Middlewareなど

Database

ストレージに格納された物理的なデータを、整理、検索、更新、活用しやすくするソフトウェア。データ管理の仕組み。
→ Relational Detabase Managament System (RDMS)
変更があった時、1ヶ所だけ変えるだけで良い(正規化)。
テーブルを合成して仮想で1つのテーブルのようにする。
一時的なものなのでディスクの容量が少なくなる(?)
更新のコストが下がり、処理速度が早くなる。

Operating System (OS)

ソフトウェアとハードウェアとつなぐ
例)Linux, Solaris

Virtual Machine (VM)

ひとつのハードウェアで複数のOSを利用できる。
あたかもハードウェアが2台あるかのように振る舞い、効率的にハードウェアのリソースを使える
→ リソースコントロール

Server

=「特定の機能を供給する専用の装置」 例)ビールサーバ、メールサーバ
=「目の前のPCにはない機能や性能を、ネットワークを軽油して代わりに提供してくれるコンピュータ」
=「サービス(役割の提供)をホスト(間貸し)するコンピュータ」
=「単一のコンピュータが、他のコンピュータに代わって役割を提供するリソースを用意すること」
=「1対多」
例)iPhoneのGoogleMapを介して、地図サーバーに格納された地図データを取得 
→ 地図上にiPhoneのGPS機能で計測した現在位置を表示。

歴史
オフコン・ミニコン:ユーザーがキーボードに情報を入力して、オフコンに司令を出す。実行する処理は全て中央のコンピューターで処理。依頼してきた端末に実行結果を返す。オフコンの機能をみんなで「シェア」する形。誰かひとりが操作を誤ってオフコンを停止させてしまった場合、全てのユーザーがオフコンを使った業務ができなくなった。高額だった。回帰しつつある。
クライアント・サーバシステム:1980〜90年にコンピュータが登場。安価なPCをオンライン化して役割を分担。PCとサーバーの区別がなかった。他のPC経由でプリンターやデータにアクセス。欠点は、⑴リソースの不公平さ⑵サーバー機能が同居しているPCは常に起動していないと使いたい機能が使えないこと。現在は、サーバ専用機を複数のPCで利用するクライアントサーバシステムが一般的。
サーバ専用機;サーバ機能が独立したコンピュータに集約。サーバ経由でプリンターやデータにアクセス。個々のPCからサーバ機に印刷命令を出す。サーバ機能を1台に集約しておけば、24時間365日稼働させるのはサーバ機1台で済む。また、必要な処理のみをサーバに任せているので、万が一サーバが停止しても全ての機能が使えなくなるわけではない。PCでできることは継続して実施できるので、中央のコンピュータに全ての処理を任せるほどのリスクはない。サーバ機を用意し、必要な機能だけをネットワーク経由で利用する形態が多い。

メールサーバ
1) 送信メールサーバ
2) 受信メールサーバ - POPサーバ/ IMAPサーバ
POPサーバ:メールの受信を実行するとメールデータがPCへ直接ダウンロードされ、サーバからは原則なくなる
IMAPサーバ:メールデータ(マスターデータ)は原則サーバに保管され、メールクライアントはサーバに保管されたメールを逐一確認する

ファイルサーバとデータベースサーバの違い
ファイルサーバ:共有専用のデータ保管場所を提供するサーバ
データベースサーバ:データベース(テーブル)という単位の入れ物にデータを蓄積しておくサーバ
どちらもデータの倉庫であるが大きな違いは「取り扱うデータの大きさ」
ファイルサーバが供給するデータは、「ファイル・フォルダ単位」例)Excelファイルやエクセルファイルが格納されたフォルダ 主に人間が用いる
データベースサーバは「ファイル内に記録しているデータ単位」例)Excelファイルと「行単位」で指定してファイルを出し入れできる 主にプログラムが用いる

DHCPサーバ
ネットワークに接続するデバイスにIPアドレスを付与する
DHCPサーバがあればネットワークに接続するだけで自動的にネットワーク設定を行なってくれる
住所を貸し出すレンタルオフィスのようなもの


DNSサーバ
これによりURLをクリックするとウェブサイトを閲覧できる
DNSサーバにIPアドレスやホスト名を問い合わせ、回答をもらう処理を名前解決を呼ぶ
DNSサーバに問い合わせて名前解決する場合は、DNSサーバで名前解決すると呼ぶ
電話番号案内サービスのようなもの

Storage

データが保管・保存される場所 。

ブログについて

 

目的

頭の整理ー言語化と理解

 

ルール

わからないことはその日のうちに解決