วิธีการสำรองและกู้คืนฐานข้อมูล PostgreSQL บน Ubuntu 16.04
บทนำ PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบโอเพ่นซอร์สที่สามารถใช้เก็บข้อมูลที่เกี่ยวข้องกับเว็บไซต์ มันยังเป็นที่รู้จักกัน
นับตั้งแต่ก่อตั้งขึ้นในปี 2552 MongoDB ได้เป็นผู้นำในอุตสาหกรรม NoSQL หนึ่งในแนวคิดหลักของ MongoDB คือ Replica Set ดังนั้นก่อนที่จะทำงานกับมันก่อนอื่นให้ทบทวนแนวคิด
รูปแบบการสื่อสารที่ง่ายที่สุดที่ใช้ในการจำลองฐานข้อมูลคือสถาปัตยกรรม Master-Slave เนื่องจากชื่อแนะนำโมเดลนี้มี 2 บทบาทซึ่งกระจายอยู่ในต้นแบบที่ไม่ซ้ำกันและทาสจำนวนมากบทบาทของต้นแบบคือการประมวลผลการดำเนินการอ่านและเขียนที่ดำเนินการโดยลูกค้าและทาสนั้นจะถือว่าเป็นแบบจำลองของต้นแบบ
ข้อได้เปรียบที่สำคัญที่สุดของรุ่นนี้คือประสิทธิภาพการทำงานของต้นแบบไม่ได้ลดลงจากการดำเนินการสำรองข้อมูลการดำเนินการสำรองข้อมูลจะดำเนินการในแบบอะซิงโครนัสและอาจกลายเป็นปัญหาร้ายแรงเมื่อโหนดหลักล้มเหลว โหนด Slave เป็นแบบอ่านอย่างเดียวและจะต้องเลื่อนไปที่โหนดหลักด้วยตนเองดังนั้นในเวลานี้มีความเป็นไปได้ที่จะสูญเสียข้อมูล
ตัวเลือกหนึ่งในการแก้ไขปัญหาความพร้อมใช้งานคือการมีต้นแบบมากกว่าหนึ่งในสถาปัตยกรรม แต่อาจนำไปสู่ปัญหาอื่นในความสอดคล้องของข้อมูลระหว่างอินสแตนซ์เหล่านั้นและความซับซ้อนที่เพิ่มขึ้นของการกำหนดค่า
บริบทที่ได้รับตอนนี้เราสามารถนำเสนอเทคโนโลยีชุดจำลองของ MongoDB Replica Set เป็นชื่อของสถาปัตยกรรม Master-Slave ที่มีการ failover อัตโนมัติดังนั้นในขณะที่primary
โหนดmaster (ซึ่งตอนนี้ชื่อ) ไม่สามารถทำงานได้อย่างถูกต้องelection
จะทริกเกอร์และโหนดหลักใหม่จะถูกเลือกจากทาสที่เหลืออยู่ ( เรียกว่าเป็นsecondaries
)
โหนดหลักเป็นโหนดเดียวที่ดำเนินการเขียนโดยการดำเนินการอ่านเริ่มต้นจะได้รับการจัดการโดยหลักเช่นกัน แต่พฤติกรรมนี้สามารถเปลี่ยนแปลงได้ในภายหลัง
การดำเนินการจะถูกบันทึกลงในoplog
(บันทึกการทำงาน) จากนั้นโหนดรองจะอัพเดตเนื้อหาแบบอะซิงโครนัสตามเนื้อหาของoplog
หมายเหตุ: oplog
เป็นคอลเลกชันที่มีฝาครอบซึ่งหมายความว่าคอลเลกชันมีขีด จำกัด โดยlocal.oplog.rs
คุณสามารถตรวจสอบเนื้อหาของคอลเลกชันนี้ภายในเชลล์ mongo ในสมาชิกชุดใดก็ได้
นอกเหนือจากการเป็นผู้สำรองข้อมูลที่เหมาะสมแล้วโหนดรองยังมีบทบาทเหล่านี้:
ด้วยคุณสมบัติเหล่านี้เราสามารถมีโหนดรองประเภทต่าง ๆ ได้:
primary
และไม่สามารถเริ่มการเลือกตั้งได้ แต่พวกเขายังสามารถลงคะแนนในการเลือกตั้งมีแบบจำลองที่สมบูรณ์และสามารถยอมรับการอ่าน สิ่งเหล่านี้มีประโยชน์ในการปรับใช้ศูนย์ข้อมูลหลายแห่งPriority 0
สมาชิกเหล่านี้แต่ยิ่งไปกว่านั้นพวกเขาไม่สามารถดำเนินการอ่าน พวกเขาอาจลงคะแนนหากจำเป็น งานที่ต้องการสำหรับสมาชิกเหล่านี้คือการรายงานและการสำรองข้อมูลpriority 0
โหนดและขอแนะนำให้พวกเขาเป็นhidden
สมาชิกด้วยก่อนที่จะปรับใช้โครงสร้างพื้นฐานเป็นสิ่งสำคัญในการออกแบบและมีจุดที่ต้องพิจารณาในการออกแบบนี้
โปรดทราบว่าจำนวนองค์ประกอบขั้นต่ำในการสร้างชุดแบบจำลองคือ 3 คุณสามารถผสมโหนดทั้งสามประเภทเข้าด้วยกันอย่างน้อยหนึ่งโหนดหลักและโหนดรองหนึ่งโหนด
ในคู่มือนี้เรากำลังปรับใช้ 3 สมาชิกหนึ่งในสองหลักและสองมาตรฐาน
หมายเหตุ: ขอแนะนำให้มีสมาชิกที่ลงคะแนนสูงสุด 7 คนโดยมีการรวมกันของอนุญาโตตุลาการและสมาชิกรอง
ชื่อนี้มีไว้สำหรับอ้างอิง แต่คุณใช้ในการกำหนดค่าของชุด โปรดจำไว้ว่าคุณสามารถมีชุดจำลองมากกว่าหนึ่งชุดในสภาพแวดล้อมการผลิตของคุณดังนั้นอย่าละเลยชื่อชุด
บทช่วยสอนนี้สนับสนุนให้ผู้ใช้เลือกชื่อของชุด
บทแนะนำนี้แนะนำให้ปรับใช้ในศูนย์ข้อมูลเดียวกันเพื่อให้คุณสามารถหลีกเลี่ยงปัญหาการสื่อสาร
หมายเหตุ: ในกรณีของการปรับใช้ในศูนย์ข้อมูลที่แตกต่างกันขอแนะนำให้ห่อหุ้มโหนดของคุณด้วย VPN
เปิดตัว 3 โหนดของ Ubuntu 16.04 x64; ในภูมิภาคเดียวกันจากพอร์ทัลลูกค้าของคุณถ้าเป็นไปได้ อย่าลืมให้ชื่อพวกเขาตามประเภทของโครงการคุณจะจัดการกับและให้แน่ใจว่าจะมีเหมือนกันขนาดเซิร์ฟเวอร์ในต่อมน้ำทั้งหมดเหล่านี้
หลังจากที่คุณปรับใช้ 3 โหนดของคุณคุณจะต้องแน่ใจว่าทุกโหนดสามารถพูดคุยกับส่วนที่เหลือ คุณจำเป็นต้อง ssh เป็นสองโหนดและเข้าถึงคนอื่น ๆ ping -c 4 EXAMPLE_IP
ใช้ เปลี่ยนEXAMPLE_IP
เป็น IP จริงของโหนดของคุณ
ที่นี่คุณสามารถดูตัวอย่างของการสื่อสารที่ประสบความสำเร็จระหว่างสองโหนด
root@foo_node:~# ping -c 4 EXAMPLE_IP
PING EXAMPLE_IP (EXAMPLE_IP) 56(84) bytes of data.
64 bytes from EXAMPLE_IP: icmp_seq=1 ttl=59 time=0.594 ms
64 bytes from EXAMPLE_IP: icmp_seq=2 ttl=59 time=0.640 ms
64 bytes from EXAMPLE_IP: icmp_seq=3 ttl=59 time=0.477 ms
64 bytes from EXAMPLE_IP: icmp_seq=4 ttl=59 time=0.551 ms
--- EXAMPLE_IP ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.477/0.565/0.640/0.064 ms
โดยทั่วไปคุณสามารถใช้แพ็คเกจ MongoDB ของ Ubuntu ได้ แต่จะดีกว่าถ้าใช้ repo ชุมชนอย่างเป็นทางการเพราะมันทันสมัยอยู่เสมอ repo นี้มีแพ็คเกจเหล่านี้:
mongod
daemon (กระบวนการหลักที่จัดการการร้องขอข้อมูล)mongos
daemon (เซอร์วิสการเราต์สำหรับการปรับใช้ที่แบ่งใช้)mongo shell
อินเตอร์เฟส JavaScriptดำเนินการติดตั้งแพ็คเกจ
อิมพอร์ตพับลิกคีย์ไปยังระบบการจัดการแพ็กเกจ
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
สร้างไฟล์รายการสำหรับ MongoDB '/etc/apt/sources.list.d/mongodb-org-3.4.list'
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
อัพเดตฐานข้อมูลแพ็กเกจ
sudo apt-get update
ติดตั้ง MongoDB metapackage
sudo apt-get install -y mongodb-org
เริ่มบริการ MongoDB
sudo service mongod start
ตอนนี้คุณสามารถเปิดmongo shell
ในเซสชั่นทุบตีใด ๆ ในการทำเช่นนี้คุณต้องใช้mongo
คำสั่ง คุณจะได้รับการต้อนรับจากบางสิ่งที่คล้ายกับสิ่งนี้
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
*Some extra logs are cut by the way*
>
อย่าลืมปิดบริการด้วยsudo service mongod stop
เพราะในภายหลังเราจะเริ่มต้นmongod
อีกครั้งด้วยพารามิเตอร์บางอย่าง ทำซ้ำกระบวนการนี้ในทั้ง 3 โหนดของชุด
การใช้ keyfile บังคับสองแนวคิดในการดูแลชุดแบบจำลอง Internal Authentication
คนแรกคือ โดยเริ่มต้นที่คุณสามารถเริ่มต้นmongo shell
เซสชั่นโดยไม่ต้องใช้ผู้ใช้และการประชุมครั้งนี้จะมีการควบคุมเต็มรูปแบบของฐานข้อมูล แต่เมื่อคุณใช้ keyfile สำหรับการตรวจสอบของคุณเซสชั่นถึงรัฐที่เรียกว่าmongo shell
localhost exception
สถานะนี้ให้คุณสร้างผู้ใช้ผู้ดูแลระบบและชุดแบบจำลองเท่านั้น แนวคิดที่สองคือRole-Based Access Control
หรือในคำอื่น ๆ การอนุญาต สิ่งนี้ถูกบังคับใช้เพื่อควบคุมระดับการดูแลระบบให้กับชุดเรพลิกา
keyfile เป็นรหัสผ่านที่ใช้ในชุดรหัสผ่านนี้จะต้องเหมือนกันในสมาชิกทุกคนในชุด เพื่อเพิ่มความปลอดภัยเป็นสิ่งสำคัญที่จะต้องใช้กุญแจสุ่มกับเครื่องมือที่คุณเลือก
เนื้อหาจะต้องมีความยาวระหว่าง 6 ถึง 1064 ตัวอักษร นอกจากนี้คุณต้องตั้งค่าการread only
อนุญาตสำหรับ keyfile
chmod 400 PATH_OF_YOUR_KEYFILE
ตอนนี้คัดลอกไฟล์คีย์ของคุณไปยังสมาชิกทุกคนในชุดโปรดใช้โฟลเดอร์ที่สอดคล้องกันสำหรับการอ้างอิงในอนาคตและอย่าเก็บไว้ในสื่อที่ถอดออกได้
ใช้โฟลเดอร์สำหรับไฟล์ที่mongod
สามารถเข้าถึงได้
ในขั้นตอนนี้เราจำเป็นต้องเริ่มต้นในสมาชิกชุดทุกmongod daemon
การเริ่มต้นmongod
กระบวนการมีสองวิธี: การใช้ไฟล์ปรับแต่งหรือใช้บรรทัดคำสั่ง ทั้งสองวิธีค่อนข้างง่าย แต่เพื่อความเรียบง่ายบทช่วยสอนนี้ใช้เวอร์ชันบรรทัดคำสั่ง
ใช้ชื่อที่คุณเลือกไว้ก่อนหน้านี้ในคำสั่งนี้
mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"
โดยค่าเริ่มต้นmongod
จะไม่ทำงานเป็น daemon คุณจะต้องใช้--fork
พารามิเตอร์หรือใช้upstart
เพื่อรันเป็น daemon อย่างสมบูรณ์ ในบทช่วยสอนนี้เราไม่สนับสนุนให้เรียกใช้mongod
เป็น daemon เพื่อให้คุณสามารถดูบันทึกในเทอร์มินัลของคุณโดยตรง
หมายเหตุ: พิมพ์ชื่อของชุดแบบจำลองอย่างระมัดระวังเพราะเมื่อสร้างแล้วคุณจะไม่สามารถเปลี่ยนได้
หมายเหตุ: หากคุณเรียกใช้mongod
เป็นกระบวนการที่ไม่ใช่ daemon คุณจะต้องเปิดการเชื่อมต่อ ssh อื่นเพื่อทำงานต่อไป
คุณต้องใช้คำสั่งเพื่อเปิดmongo
mongo shell
สามารถทำได้ในสมาชิกชุดใดก็ได้
localhost exception
ในขณะนี้เราอยู่ในสถานะที่เรียกว่า เมื่อคีย์ไฟล์ถูกใช้เพื่อตั้งค่าmongod
กระบวนการคุณจำเป็นต้องสร้างผู้ดูแลระบบฐานข้อมูลก่อนที่คุณจะสามารถใช้การดำเนินการอ่าน - เขียนได้ แต่เราจะดำเนินการในภายหลัง
นี่คือส่วนที่ละเอียดอ่อนเรากำลังใช้คำสั่งrs.initiate()
ภายในmongo shell
จากขั้นตอนที่ 4 ก่อนที่จะใช้คำสั่งนี้ให้ตรวจสอบมัน
rs.initiate(
{
_id : <replicaSetName>,
members: [
{ _id : 0, host : "example1.net:27017" },
{ _id : 1, host : "example2.net:27017" },
{ _id : 2, host : "example3.net:27017" }
]
}
)
ครั้งแรกที่_id
สนามเป็นสตริงและต้องตรงกับที่ผ่านมาก่อนที่จะ--replSet
mongod
นอกจากนี้ค่าแต่ละค่าhost
จะต้องเป็น ip หรือชื่อโดเมนของสมาชิกแต่ละคนของชุดแบบจำลอง อย่าลืมผนวกพอร์ตที่อินสแตนซ์ Mongo ใช้ในสมาชิกแต่ละคน
ตอนนี้ถึงเวลาที่จะดำเนินการคำสั่งด้วยข้อมูลของคุณมันจะทริกเกอร์election
แล้วหลักจะได้รับการเลือกตั้งโดยอัตโนมัติ
ที่นี่คุณควรทราบว่าเคอร์เซอร์เปลือกของคุณมีการเปลี่ยนแปลงไปหรือYOUR_SET_NAME:PRIMARY>
YOUR_SET_NAME:SECONDARY
ซึ่งหมายความว่าการสร้างชุดนั้นประสบความสำเร็จ
หากต้องการทำงานต่อไปคุณจะต้องค้นหาสิ่งต่อไปprimary
นี้หากไม่ได้อยู่ในหลักสูตร ใช้คำสั่งเพื่อแสดงข้อมูลของชุดแบบจำลองและค้นหาrs.status()
คุณกำลังมองหาสถานที่ให้บริการprimary
"stateStr" : "PRIMARY"
หลังจากที่คุณพบprimary
แล้วให้ป้อนmongo shell
และเรียกใช้คำสั่งถัดไปโดยใช้ข้อมูลของคุณ
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOU_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
admin = db.getSiblingDB("admin")
ส่วนช่วยให้เราเขียนลงในadmin
จากฐานข้อมูลที่แตกต่างกัน สิ่งนี้จะสร้างนามแฝงที่เรียกว่าadmin
เพื่อให้เราสามารถรันคำสั่งโดยใช้แทน
หากการดำเนินการสำเร็จคุณจะได้รับการแจ้งเตือนว่ามีการเพิ่มผู้ใช้
Successfully added user: {
"user" : "YOUR_USER",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
ณ จุดนี้เรามีผู้ดูแลระบบสำหรับเซิร์ฟเวอร์ทั้งหมดเท่านั้น แต่การมีชุดจำลองทำให้เราต้องมีผู้ใช้ที่มีclusterAdmin
บทบาท เราจะสร้างผู้ใช้รายอื่นโดยมีเพียงบทบาทนั้นเพื่อแยกข้อกังวลออก
เราถึงขีด จำกัดlocalhost exception
ซึ่งเป็นสาเหตุที่เราต้องเปลี่ยนการรับรองความถูกต้องให้กับผู้ใช้ที่สร้างขึ้นหนึ่งขั้นตอนก่อนหน้านี้
คุณสามารถเปลี่ยนผู้ใช้ภายในmongo shell
ด้วยต่อไปนี้
db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )
หากคุณยังไม่ได้เชื่อมต่อกับmongo shell
คำสั่งนี้ให้ใช้แทน
mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"
คุณจะได้รับแจ้งการเปลี่ยนแปลงของผู้ใช้และคุณสามารถไปยังขั้นตอนต่อไป
clusterAdmin
บทบาทช่วยให้ผู้ใช้ควบคุมเต็มรูปแบบของชุดแบบจำลอง การสร้างมันง่ายเหมือนการสร้างผู้ใช้งาน admin
db.getSiblingDB("admin").createUser(
{
"user" : "YOUR_USER",
"pwd" : "YOUR_PASSWORD",
roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
}
)
clusterAdmin
หมายเหตุว่าเวลานี้บทบาทที่มีการเปลี่ยนแปลงไป
ในขณะนี้เรามีผู้ใช้ 2 คน: ผู้ใช้ที่มีการควบคุมเซิร์ฟเวอร์และอีกคนที่สามารถเข้าถึงงานการดูแลระบบในระดับชุดแบบจำลอง อย่างไรก็ตามเราไม่มีผู้ใช้ที่สามารถเข้าถึง "ใช้" ฐานข้อมูลดังนั้นเราจะสร้างผู้ใช้นั้นในตอนนี้
admin = db.getSiblingDB("admin")
admin.createUser(
{
user: "YOUR_USER",
pwd: "YOUR_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
}
)
ขอให้สังเกตเวลานี้เรามีการเปลี่ยนแปลงบางส่วนมีเราจะวางฐานข้อมูลสามารถเข้าถึงได้ให้กับผู้ใช้ในกรณีนี้เราจะใช้ฐานข้อมูลชื่อdb
cars
ฐานข้อมูลยังไม่ถูกสร้างขึ้น ในการทำเช่นนั้นคุณจะต้องพิมพ์คำสั่งบางอย่างเพื่อสร้างมันขึ้นมาโดยปริยาย สลับไปยังcars
ฐานข้อมูล
use cars
คุณจะได้รับการแจ้งเตือน: switched to db cars
.
ฐานข้อมูลยังไม่ถูกสร้างขึ้นคุณจำเป็นต้องเขียนบางสิ่งลงไป เรากำลังใช้ตัวอย่างต่อไปนี้
db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })
WriteResult({ "nInserted" : 1 })
เวลานี้คุณจะได้รับการแจ้งเตือนด้วย
หากคุณต้องการคุณสามารถดึงข้อมูลวัตถุทั้งหมดในฐานข้อมูลด้วยfind()
วิธีการ:
db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }
โปรดทราบว่า_id
จะแตกต่างกันในผลลัพธ์ของคุณ แต่ข้อมูลอื่นควรเหมือนกัน ให้เวลาเพียงพอข้อมูลนี้จะถูกคัดลอกไปยังสมาชิกคนอื่น ๆ
การสร้างชุดจำลองอาจเป็นเรื่องที่ท้าทายในตอนแรกเนื่องจากมีข้อมูลจำนวนมากที่จะเข้าใจ แต่เมื่อคุณได้รับแนวคิดเบื้องหลังคุณสามารถนำไปใช้งานได้อย่างรวดเร็วดังนั้นอย่ายอมแพ้ถ้าคุณไม่เข้าใจในครั้งแรก โปรดจำไว้ว่าชุดแบบจำลองมีความสำคัญในการดูแล MongoDB เพราะจะเปิดโอกาสให้เพิ่มคุณสมบัติขั้นสูงเช่น Load Balancing
บทนำ PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบโอเพ่นซอร์สที่สามารถใช้เก็บข้อมูลที่เกี่ยวข้องกับเว็บไซต์ มันยังเป็นที่รู้จักกัน
MongoDB ไม่ปลอดภัยตามค่าเริ่มต้น หากคุณกำลังติดตั้ง MongoDB และเปิดใช้งานโดยไม่ต้องกำหนดค่าสำหรับการรับรองความถูกต้องคุณจะมีเวลาที่ไม่ดี
ใช้ระบบที่แตกต่างกันอย่างไร Apache Cassandra เป็นระบบจัดการฐานข้อมูล NoSQL ฟรีและโอเพ่นซอร์สที่ได้รับการออกแบบมาเพื่อให้สามารถปรับขยายได้
RockMongo เป็นเครื่องมือการจัดการ MongoDB บนเว็บซึ่งคล้ายกับเครื่องมือการจัดการ MySQL: phpMyAdmin บทช่วยสอนนี้จะครอบคลุมกระบวนการของการติดตั้ง
ใช้ระบบที่แตกต่างกันอย่างไร Apache Cassandra เป็นระบบจัดการฐานข้อมูล NoSQL ฟรีและโอเพ่นซอร์สที่ได้รับการออกแบบมาเพื่อให้สามารถปรับขยายได้
Laravel GitScrum หรือ GitScrum เป็นเครื่องมือเพิ่มประสิทธิภาพการทำงานแบบโอเพนซอร์สที่ออกแบบมาเพื่อช่วยให้ทีมพัฒนาใช้วิธี Scrum ในแบบเดียวกัน
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เข้าถึง Sudo คำสั่งที่ต้องรันในฐานะรูทจะขึ้นต้นด้วย # และอีกหนึ่งคำสั่ง
MySQL เป็นซอฟต์แวร์ที่ได้รับความนิยมมากที่สุดในโลกที่ใช้สำหรับฐานข้อมูล ตรวจสอบให้แน่ใจว่าคุณมีการสำรองฐานข้อมูลของคุณเป็นสิ่งสำคัญมาก การปฏิบัตินี้ช่วยให้
บทนำ MyCLI เป็นไคลเอนต์บรรทัดคำสั่งสำหรับ MySQL และ MariaDB ที่ช่วยให้คุณดำเนินการอัตโนมัติและช่วยให้มีไวยากรณ์ของคำสั่ง SQL ของคุณ MyCL
Barnyard2 เป็นวิธีการจัดเก็บและประมวลผลเอาต์พุตไบนารีจาก Snort ลงในฐานข้อมูล MySQL ก่อนที่เราจะเริ่มโปรดทราบว่าหากคุณไม่มีเสียงอึกทึก
ใช้ระบบที่แตกต่างกันอย่างไร Introduction ArangoDB เป็นฐานข้อมูล NoSQL แบบโอเพ่นซอร์สที่มีตัวแบบข้อมูลที่ยืดหยุ่นสำหรับเอกสารกราฟและคีย์ - ค่า มันคือ
OrientDB เป็นโอเพ่นซอร์สหลายรุ่นถัดไป NoSQL DBMS ด้วยการรองรับโมเดลข้อมูลหลายรุ่น OrientDB สามารถให้ฟังก์ชันการทำงานและความยืดหยุ่นที่มากขึ้น
MongoDB เป็นฐานข้อมูล NoSQL ที่รวดเร็วและมีประสิทธิภาพ อย่างไรก็ตามที่เก็บ Debian อัปเดตช้าและมักจะมีแพ็คเกจรุ่นเก่ามาก tutoria นี้
บทนำ InfluxDB เป็นฐานข้อมูลตามลำดับเวลาที่เขียนใน Go InfluxDB มีประโยชน์หลายอย่างหนึ่งในนั้นคือการเก็บข้อมูลการตรวจสอบบนเซิร์ฟเวอร์ ผม
Redis เป็นที่เก็บโครงสร้างข้อมูล เป็นที่นิยมในไซต์ WordPress เนื่องจากมีการเพิ่มประสิทธิภาพอย่างมากเนื่องจากวิธีการแคชที่ดีที่สุด
บทนำในบทความนี้เราแนะนำวิธีการสำรองข้อมูลหลายฐานข้อมูล MySQL หรือ MariaDB ที่อยู่บนเครื่องเดียวกันโดยใช้ bash scrip ที่กำหนดเอง
Redis เป็นโซลูชันหน่วยเก็บข้อมูลคีย์ - ค่าซึ่งมักถูกเรียกว่าฐานข้อมูล NoSQL สามารถบรรลุความเร็วในการอ่าน / เขียนสูงมากเพราะเป็นหน่วยความจำภายใน
MariaDB เป็นฐานข้อมูลโอเพ่นซอร์สฟรีและเป็นการแทนที่แบบดรอปอินที่ใช้กันอย่างแพร่หลายสำหรับ MySQL มันทำโดยนักพัฒนาของ MySQL และตั้งใจที่จะ remai
การสำรองข้อมูลเป็นส่วนสำคัญในการจัดการกับฐานข้อมูล ไม่ว่าคุณจะเรียกใช้เว็บไซต์ขององค์กรหรือเพียงแค่โฮสต์ WordPress สิ่งสำคัญคือการสำรองข้อมูลของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน