顯示包含「Database」標籤的文章。顯示所有文章
顯示包含「Database」標籤的文章。顯示所有文章

2019年2月20日星期三

Volumes、Persistent Volumes 及 Persistent Volumes Claims

上一回【了解及編寫 Kubernetes 的 yaml


用過 GCP 建立 Pod 及 Service,也試過寫 yaml,差 Persistent Volumes 就完成基本中的基中 k8s 運用……

對,只是運用,離 production 還有不少距離……

Volumes 跟 Pod 共生死, Persistent Volumes 與 Cluster 共生死,因此,Pod 用 Persistent Volumes 的話,就算 Pod 死,資料也可以續存,只要再建立一隻新 Pod,掛載 Persistent Volumes。

Persistent Volumes 與 Persistent Volumes Claims 關係


Volumes = 暫存
Persistent Volumes = 硬碟
Persistent Volumes Claims = 分割硬碟

會電腦硬件,沒更貼切比喻!

2019年1月31日星期四

了解及編寫 Kubernetes 的 yaml

上一回【申請 Google Cloud Platform ( GCP ) 及示範 Kubernetes Engine


Docker 有 yaml,K8s 也有 yaml,兩者都是 yaml,為甚麼完全不同呢?這個就不深究了,但兩者的 yaml 不能共用,已經確認過,所以有必要了解 K8s 是怎樣用 yaml 檔,Docker 那邊忘掉吧。

Kubernetes Object 及 Kubernetes API 不需要太深入研究,稍微知道是甚麼就夠,實戰才是本文重點。

為求方便,這篇用 Google Cloud Shell ( GCS ),不用 Google Cloud SDK 版本,因為 kubectl 之前給 Docker for CE 佔用了,把設定改回來很麻煩,之後的文章,應該會改回用本機 Shell。

Google Cloud 快速入門
https://cloud.google.com/kubernetes-engine/docs/quickstart#choosing_a_shell

yaml 語法
https://javatoybox.blogspot.com/2019/01/kubernetes-yaml.html#try-docker-compose

2018年11月15日星期四

Docker 上的 Kubernetes

上一回【Docker Network 及 Docker Compose 教學

k8s_1.png

自 18.06 Stable 版本起,安裝 Docker CE 會包含 Kubernetes,於本機執行,不能設定的 single-node cluster,作為開發及測試用。

以入門來說,是個好選擇,熟悉後再上 Google Kubernetes Engine 服務。

Deploy on Kubernetes
https://docs.docker.com/docker-for-windows/kubernetes/

2018年9月12日星期三

JNDI + Derby + TomEE Plus 教學

JNDI 用來做甚麼?


JNDI 全名是 Java Naming and Directory Interface,重點在於【Naming】及【Directory】這兩個字,簡單來說,就是查冊服務,用【名字】來查找需要的【目錄 / 服務】。

舉例,香港公共圖書館借書時,有沒有留意書背?那組數字加英文就是索書號 ( Naming ),是個獨一無異的名字,只要用這個名字搜尋公共圖書館目錄 ( Directory ) 就一定找得到想要的書。

與 Database 用 Primary key 搜尋有甚麼分別?


用途不同,Database 用於處理資料,Database 需要頻繁讀寫,而 JNDI 主要透過設定 J2EE container 更新資源,查找  ( lookup ) 目錄 / 服務 / object 等,只需設定一次就好,不會經常改動設定檔吧?

JNDI 目錄 / 服務有甚麼?


放甚麼都可以,不像 Database 那樣,有 data type 及資料長度限制。JNDI 常見用法有以下幾項︰

  • Datasource
  • LDAP ( Lightweight Directory Access Protocol )
  • WSDL ( Web Services Description Language )
  • entry ejb

本文只示範 datasource 設定及使用,日後有機會再補上其餘三項。

2018年6月7日星期四

Eclipse 上使用 Java DB ( Apache Derby ) (PART 3 / 3 )

上一回【Eclipse 上使用 Java DB ( Apache Derby ) (PART 2 / 3 )

首先要「做得到」,然後才想「做得好」,這個範例止於「做得到」範疇,想深入鑽研如何「做得好」,文章最後會有額外提示。

Derby_Prepare_1

廢話到此為止,開始之前,輸入資料,然後備份。你都懂的,不會的話,請回去前幾 PART 溫習。

2018年5月29日星期二

Eclipse 上使用 Java DB ( Apache Derby ) (PART 2 / 3 )

上一回【Eclipse 上使用 Java DB ( Apache Derby ) (PART 1 / 3 )

prepare_1

續上回,用手動方式輸入資料,建好資料庫了嗎?
還沒做好的話,請把文字複製貼上,可以參考上一回怎樣做。

先教 Backup 及 restore 資料庫,學會後,玩爛了也不用怕。之後教 SQL ,最後才到寫程式。

2018年5月17日星期四

Eclipse 上使用 Java DB ( Apache Derby ) (PART 1 / 3 )

上一回【Eclipse 介紹及預定技術整合

Apache Derby

為何不用常見的 MySql?


由 JDK 6 開始已經包含 Database,而且小巧輕盈。
處理少量資料,只用到 CRUD ( Create, Retrieve, Update and Delete),這是一個不錯的選擇。

Java DB
http://www.oracle.com/technetwork/java/javadb/overview/index.html

註︰避免用好用滿 oracle JDK 後,被背後插一刀,快點習慣 OpenJDK + derby 吧,而且各個版本 Linux 都是選用 OpenJDK。


———————————資料補充 ( start )————————————

DBMS ( DataBase Management System )︰


Apache Derby 是一種【Relational DBMS】,除【Relational DBMS】外,還有其他種類,例如常說的「大數據」、「機器學習」等,他們用到的 database 技術都不一樣 ( 如 Hadoop、Neo4j 等等)。