💡 ถ้าพูดถึงสาย Database แล้ว จะมีตัวย่ออยู่ชุดนึงที่ฟังครั้งแรกแล้วต้องเอ๊ะว่า นี่วงการคอมพิวเตอร์หรือเคมีแน่นะ ? นั่นก็คือคำว่า ACID นั่นเอง โดย ACID ในที่นี้ไม่ได้แปลว่ากรดแต่อย่างใด เพราะมันคือคุณสมบัติที่ Database transaction ต้องมีต่างหาก !
.
Database Transaction คืออะไร ?
.
ก่อนจะไปที่เรื่อง ACID แอดขออธิบายเพิ่มเติมสำหรับมือใหม่นิสนึง เจ้า Database Transaction คือชุดคำสั่งที่กระทำบางสิ่งกับ Database ไม่ว่าจะสร้าง อ่าน แก้ไข หรือลบข้อมูล เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
.
ถ้ายังนึกไม่ออก เรามีตัวอย่าง !
“ถ้า A จะโอนเงินให้ B จำนวน 100 บาท” เพื่อน ๆ คิดว่า Transaction สำหรับโอนเงินจะเป็นยังไง ?
.
สมมติว่า คำสั่งที่จะเกิดขึ้นตอนโอนเงินมีดังนี้
1) เข้าไปอ่านข้อมูลว่า ขณะนี้ A และ B มีเงินในบัญชีเท่าไหร่
2) แก้ไขจำนวนเงินของ A โดยลบออก 100 บาท
3) แก้ไขจำนวนเงินของ B โดยเพิ่มขึ้น 100 บาท
4) เพิ่มข้อมูลประวัติการโอนเงินระหว่าง A ไปยัง B
.
แค่นี้ เราก็จะได้ 1 Transaction สำหรับโอนเงินจาก A ไป B จำนวน 100 บาทแล้ว~~
.
พอเข้าใจเรื่อง Database Transaction กันแล้ว เราก็จะมาดูกันต่อว่า คุณสมบัติของ Transaction ที่ดีเป็นยังไงนะ? ถ้าพร้อมแล้วไปต่อกันเลย
.
.
ทำไม Database Transaction ต้อง ACID?
.
ACID ย่อมาจาก Atomicity, Consistency, Isolation และ Durability ซึ่งทั้ง 4 ตัวเป็นคุณสมบัติที่ทำให้ Transaction บน Database นั้นน่าเชื่อถือและมีความถูกต้อง
.
🔸 Atomicity
.
มีสโลแกนว่า แต่ละ Transaction จะต้องเป็นแบบ “All or nothing” หมายถึง Transaction จะสำเร็จก็ต่อเมื่อ ทุกคำสั่งในนั้นทำงานได้สำเร็จจริง แต่ถ้ามีคำสั่งไหนหรือส่วนไหนที่ทำไม่สำเร็จ ทั้ง Transaction นั้นก็จะถือว่าไม่สำเร็จไปเลย จึงเป็นที่มาของวลี “All or nothing” นั่นเอง
.
จากตัวอย่าง Transaction ที่แอดแปะไว้ข้างบน
.
“ถ้า A จะโอนเงินให้ B จำนวน 100 บาท”
1) เข้าไปอ่านข้อมูลว่า ขณะนี้ A และ B มีเงินในบัญชีเท่าไหร่
2) แก้ไขจำนวนเงินของ A โดยลบออก 100 บาท
3) แก้ไขจำนวนเงินของ B โดยเพิ่มขึ้น 100 บาท
4) เพิ่มข้อมูลประวัติการโอนเงินระหว่าง A ไปยัง B
.
ถ้าทำคำสั่งที่ 3 อยู่ แล้ว Server ล่ม เงินของ B จะไม่ถูกเพิ่มอีก 100 บาท แปลว่ามีคำสั่งที่ทำไม่สำเร็จเกิดขึ้น ดังนั้นทั้ง Transaction นี้ก็จะถือว่าไม่สำเร็จนั่นเอง
.
.
🔸 Consistency
.
Consistency แปลว่า ความสอดคล้อง ดังนั้น ไม่ว่าใน Transaction นั้น เราจะทำอะไรกับข้อมูลบ้าง ข้อมูลนั้นก็ต้องสอดคล้องกับกฎเกณฑ์และเงื่อนไขที่เราออกแบบไว้บน Database เช่น ข้อมูลจำนวนเงินต้องเป็นตัวเลขเท่านั้น เป็นตัวอักษรไม่ได้
.
นอกจากนี้ จะต้องไม่กระทบกับข้อมูลที่มีอยู่แล้วด้วย ถ้ามีคำสั่งที่ทำให้ข้อมูลไม่ถูกต้อง Transaction นั้นจะถูก Rollback หรือก็คือยกเลิก Transaction นั้นเพื่อย้อนกลับไปตอนที่ข้อมูลยังถูกต้องอยู่ เช่น ถ้ากำลังเพิ่มประวัติการโอนเงิน มี Transaction การโอนอื่นกำลังจะเพิ่มประวัติอยู่เหมือนกัน รหัสของการโอนทั้ง 2 กรณีนี้จะต้องไม่เหมือนกัน ไม่งั้น Transaction ที่มาทีหลังจะต้อง Rollback
.
.
🔸 Isolation
.
แน่นอนว่าบน Database อาจมีหลาย Transactions เกิดไล่เลี่ยกันและอาจทำบนข้อมูลส่วนเดียวกัน ถ้า Transaction ที่เกิดขึ้นยังไม่เสร็จ คำสั่งใน Transaction นั้นจะต้องไม่มีผลกับ Transaction อื่น ๆ จนกว่าจะทำการ Commit (ยืนยันการเปลี่ยนแปลงข้อมูลจากการกระทำของ Transaction)
.
.
🔸 Durability
.
Durability แปลว่า ความคงทน ดังนั้น ถ้า Transaction ไหน ถูก Commit แล้ว ข้อมูลจาก Transaction นั้น ก็จะต้องครบถ้วนและอยู่คงทนตลอดไปใน Database ไม่ว่าจะไฟดับ Server ล่ม หรือเกิดอะไรขึ้นก็ตาม
.
.
เป็นยังไงกันบ้างเอ่ย ถ้าอยากให้แอดมาแชร์เรื่องอะไรอีกก็คอมเมนต์กันมาได้น้า~ และสำหรับโพสต์นี้ ชอบกดไลก์ ใช่กดแชร์ เป็นกำลังใจให้แอดและทีม BorntoDev ด้วยนะคะ ❤️
.
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
#ACID #database #BorntoDev
acid database 在 印度神尤遊印度 Facebook 的精選貼文
「最近有保養品找我耶!」
「屁啦!找你幹嘛?」
我朋友為何都這麼直接...
號稱母胎素顏
天生麗質一切都只能感謝媽媽的我
居然也有開啟瓶瓶罐罐人生的一天
感謝 #玫爾萃 願意挑戰我這塊處女地(?)
依照我的皮膚狀況
最討M的就是 #鼻頭粉刺
玫爾萃幫我搭配了
#山茶花洗卸乳
#青春調理露
#極致修復精萃油
我超認真試用超過兩個星期
實在覺得hen不錯才敢跟大家分享
#黑頭粉刺 這道難題
尚在努力中
截至目前使用兩週後
感覺大概減少約30%(太太認證)
我會乖乖持續使用下去
歡迎大家叫我印度尤美女(?)
極致修復精萃油真的是我的摯愛
好喜歡它的味道啊啊啊啊
是溫潤淡雅的味道
擦完有種安眠曲效果
覺得身心都安靜下來
說實話
一開始想到要把油抹在臉上
真的是有點抗拒
不喜歡塗塗抹抹就是因為怕油膩感
結果它吸收速度真的快
抹一抹就被皮膚吸收了
擦完不油不膩,舒爽柔嫩
原來這就是富含水分的皮膚應該有的軟嫩感呀
臉頰變得好好摸喔!
這次回家有被尤媽認真稱讚
尤媽:「哎喲!皮膚越來越好唷!」
玫爾萃還有一個在印度也滿熱門的訴求
那就 #全素保養
在印度就是素不素很重要啊
沒想到在台灣也遇到了這麼素的
到底是花生省魔術?
說到這邊,當然也是有團購優惠
🥳印度尤優惠限時:11/20-11/27
洗面乳$1080 > $789
精華液$1680 > $1300
精萃油$1980 > $1698
👉👉這邊走 https://www.mellowergaze.com/
人生也是走到了三十歲
實在是不能偷懶了
不過玫爾萃把保養弄得很簡單
也給我許多正確的保養觀念
原來沒化妝也要用 #卸妝油 的觀念是錯的
因為過度清潔會有卸妝油礦物成分殘留
造成 #毛孔阻塞
要常常 #去角質 也是錯誤的
天啊!居然連這個也是錯的!
原來皮膚要「護角質」而不是「去角質」
因為老舊角質會自行代謝
且角質有一定的 #保水 功能
去除它會讓皮膚變得更乾更脆弱
玫爾萃使用有ecocert 認證的胺基酸活性介面劑
從L-Glutamic acid (an amino acid) 和plant-derived coconut fatty acid萃取
可以長時間維持肌膚保濕度以外
也不會導致白頭或黑頭粉刺
用健康的方式改善粉刺
By the way, 玫爾萃的成分
都是國際認證的低敏香精
大家可以試試看 將成分放到EWG的網站查詢
【EWG’s Skin Deep® database】 https://www.ewg.org/skindeep/
🥳印度尤優惠限時:11/20-11/27
👉👉這邊走 https://www.mellowergaze.com/
acid database 在 加護病房查房日誌 Facebook 的精選貼文
加護病房查房日誌20150429
各位同學有聽過用flumazenil用來治療hepatic encephalopathy嗎?
老師今天在整理藥師國考題時發現有這樣的題目,下列藥品,何者可用於嚴重肝硬化(liver cirrhosis)併發hepatic encephalopathy之治療?
A.Flumazenil
B.Flurazepam
C.Flutamide
D.Fluvoxamine
後來老師到UpToDate上查了一下,幫大家解析了一下,請參考。
The gamma-aminobutyric acid (GABA)-receptor complex 在hepatic encephalopathy 中是一種神經抑制的角色。這個複合體是在突觸後,中樞神經中主要的抑制網絡。此包括了a GABA-binding site, a chloride channel, and barbiturate and benzodiazepine receptor sites。 GABAergic 傳輸可能和ammonia有交互作用,這也是hepatic encephalopathy的病理原因, 增加傳輸會增加受體與接受體間的結合。
也因為如此The benzodiazepine receptor antagonist flumazenil 被用於治療hepatic encephalopathy。只不過大多是觀察型研究,還有少數成功的隨機對照研究。打了藥品後,大部分的病人會在幾分鐘有反應,只不過三分之二的病人2-4小時候又開始惡化。
目前相關資料被統整於一個12個隨機試驗的系統性回顧中,共有765個病人。作者結論使用flumazenil和安慰組相比可以改善肝腦病變。(30 versus 7 percent, absolute improvement of 23 percent [95% CI 18 to 28 percent]). 只不過對於死亡率並無影響(Cochrane Database Syst Rev. 2001),另外之後另一個統合分析也發現類似的結果。Aliment Pharmacol Ther. 2002;16(3):361.
只不過,我們臨床上並不會這樣使用,主要還是以lactulose為治療。
Ps: 如果大家有興趣的話,也可以來參加藥師國考班喔,https://www.facebook.com/groups/pharmatest/
acid database 在 What's a real-world example of ACID? [closed] - Stack Overflow 的推薦與評價
... <看更多>
相關內容