მონაცემთა ბაზის პროდუქტიულობა Nutanix-ზე


Nutanix-ის ფუნქციონირების ადრეულ ეტაპზე, სისტემის გამოყენების ერთ-ერთი მთავარი მიმართულება იყო სამუშაო ადგილის ვირტუალიზაცია. თუმცა, მზარდი პოპულარობიდან გამომდინარე, უფრო და უფრო მეტ მომხმარებელს მიგრაცია მოხდა მომთხოვნი ამოცანების/დატვირთვების მიმართულებით (მაგ. მონაცემთა ბაზები) Nutanix პლატფორმაზე, მაგრამ რა ვითარებაა უაღრესად დატვირთულ მონაცემთა ბაზებთან, რომლებიც კვლავ შეიცავს სპეციალურ შენახვის სისტემებს?

ქვემოთ მოცემულია სლაიდი, რომელიც წარმოდგენილი იყო 2017 წელს ყოველწლიურ Nutanix Next კონფერენციაზე. აქ შედარებას ემატება გრაფიკი Nutanix პლატფორმის მუშაობის მაჩვენებლებით Nvme+SSD კონფიგურაციაში Nutanix aos 6.0 პროგრამული უზრუნველყოფით. სლაიდი აჩვენებს შესრულების ტესტის შედეგების შედარებას, სადაც რეალურად შეგიძლიათ ნახოთ დისკის ქვესისტემის მუშაობის ორმაგი ზრდა. თუ რამდენიმე წლის წინ ეჭვი გეპარებოდათ ჰიპერკონვერგენტული სისტემების გამოყენების მიზანშეწონილობაში რთული ამოცანებისთვის, ახლა საკუთარი გამოცდილებიდან ხედავთ, რომ სისტემა სრულად დააკმაყოფილებს ნებისმიერ მოთხოვნას.



მოდით შევხედოთ სხვა სისტემას ტესტის რეჟიმში. იგი იყენებს AOS-ის STS ვერსიას და დისკის ქვესისტემის კონფიგურაციებს – რამდენიმე Intel Optane დისკები და ქსელური ადაპტერები RDMA ტექნოლოგიის მხარდაჭერით (დისტანციური პირდაპირი მეხსიერების ხელმისაწვდომობა) სერვერზე. ქვემოთ მოცემულია ამ სისტემის სტანდარტული შესრულების ტესტის შედეგები, რომელიც შედგება 4 სერვერისგან.




აუცილებელია ყურადღება მიაქციოთ არა დისკის ოპერაციების და გამტარობის დიდ ინდექსს, არამედ მონაცემთა წვდომის დაბალ შეყოვნებას დისკის მუშაობის თითოეული ერთეულისთვის. განსაკუთრებით შესამჩნევი არის დაგვიანებით ჩაწერის ოპერაცია 200 მიკროწამი, და ეს არის მხოლოდ ორი დისკის კლასტერიდან ორი სხვადასხვა სერვერზე. ხოლო შეყოვნების მაჩვენებელი წაკითხვის ოპერაციების დროს შეადგენს 160 მიკროწამი, რაც მიუთითებს იმაზე, რომ წაკითხვის ოპერაციებს ემსახურება დისკები და არა cvm RAM-ის არსებული ქეში.

და ახლა ყველაზე საინტერესო - მონაცემთა ბაზის შესრულების ტესტები

ზემოთ მოყვანილი შედეგები მიიღება რენტგენის გამოყენებით სისტემების შესამოწმებლად სხვადასხვა სცენარში, მათ შორის სერვერის უკმარისობით ან მთელი სისტემით. მისი ამოცანაა სისტემის მაქსიმალური შესუსტება და, შესაბამისად, ეს ტესტები შორს არის რეალური დატვირთვის სცენარებისგან.

ჩვეულებრივ, მომხმარებელთა ინჟინრებს უფრო აინტერესებთ მონაცემთა ბაზის მართვის სისტემის მიერ გადაცემული i/O ოპერაციის ინდიკატორები. თითქმის ყოველთვის, მონაცემთა ბაზის დატვირთვა არის სხვადასხვა ზომის შეყვანისა და გამომავალი ოპერაციების ნაზავი, სხვადასხვა რიგის სიგრძით და ოპერაციების ტიპებით (კითხულობს და წერს) უფრო დიდი სამუშაო რაოდენობით მონაცემებით, ვიდრე ზემოთ მოცემულ ტესტებში. როგორც წესი, ეს განცხადება ასევე ეხება შენახვის სისტემების სხვა მწარმოებლების ტესტებს.

მოდით შევხედოთ ორი ტესტის შედეგებს სხვადასხვა სცენარით:

1. ერთი ინსტანციის Microsoft SQL Server (ერთ სერვერზე კასეტური) ერთად HammerDB TPC-c ტესტი გაშვებული;

2. კომპლექტი Oracle მონაცემთა ბაზების SLOB გაშვებული 4 Nutanix კასეტური სერვერები.

მოდით ერთად გადავხედოთ, თუ როგორ მიაღწია Nutanix - მა ასეთ შედეგებს და უფრო სიღრმისეულად გავაანალიზოთ ისინი.

ნაწილი I. ოპტიმიზაცია

ნაბიჯი #1 - პროდუქტიულობის გაზრდა დიდ სამუშაო მონაცემთა ბაზებზე

რამდენიმე წლის წინ, Nutanix-მა შეცვალა თავისი მეტამონაცემების არქიტექტურა და გააკეთა მთელი რიგი ცვლილებები, რომლებიც მიზნად ისახავდა შესრულების და პროდუქტიოლობის ზრდას. დაემატა RockDB მეტამონაცემების ადგილობრივი შენახვის ახალი მექანიზმი, რომელიც დაკავშირებულია თითოეულ კონკრეტულ სერვერზე გაშვებული კლასტერის დატვირთვასთან, მაგრამ ასევე გლობალურად იყენებს განაწილებულ Cassandra კასეტური მეტამონაცემების შენახვის სისტემას. ამის შესახებ მეტი შეგიძლიათ წაიკითხოთ აღნიშნულ ბმულზე (https://www.nutanixbible.com )Scalable Metadata - ის განყოფილებაში.

ამ ინოვაციებმა რადიკალურად გადაჭრა მეტამონაცემების დაგვიანებული წვდომის საკითხი დიდი მონაცემთა ბაზებით მუშაობისას, რაც რეალურად ასახავს უაღრესად დატვირთული მონაცემთა ბაზების რეალურ დატვირთვას. ფაქტობრივად, ჩვენ მივიღეთ x2 ზრდა შესრულების ორი ძირითადი ამოცანები:

* შემთხვევითი პროფილების წაკითხვის დიდი სამუშაო მონაცემთა კომპლექტი (შემთხვევითი);

* მონაცემთა ბაზაში დიდი რაოდენობით მონაცემების ჩატვირთვა და სარეზერვო ასლის აღდგენა.

ქვემოთ მოყვანილი ფიგურა გვიჩვენებს Nutanix-ის შიდა ტესტების შედეგებს ინოვაციასთან, რომელსაც ახლა უწოდებენ - Autonomous Extent Store (AES)..



ნაბიჯი #2 - მონაცემთა ბაზის ჩანაწერში წერის შეყოვნების გაუმჯობესება

მონაცემთა ბაზის მართვის მრავალი სისტემისთვის, გარიგების ჟურნალის გარიგებები ხდება ერთ ძაფში. ერთჯერადი ხრახნიანი დატვირთვით, ოპტიმიზაციის ერთადერთი გზაა შეყოვნების შემცირება. ჰიპერკონვერგენტული სისტემების არქიტექტურა რადიკალურად განსხვავდება მონაცემთა შენახვის ტრადიციული სისტემებისგან, სადაც ორი კონტროლერი ურთიერთდაკავშირებულია მაღალი ხარისხის ავტობუსით და თითოეული აღჭურვილია nvram მეხსიერებით, სადაც ხდება წერის ყველა ოპერაცია. შესაბამისად, ეს არის ჰიპერკონვერგენტული სისტემების არქიტექტურის პოტენციური მინუსი, რაც პირდაპირ გავლენას ახდენს მონაცემთა ბაზების ჩაწერის ოპერაციების შეყოვნებაზე.

ამასთან, დისტანციური პირდაპირი მეხსიერების წვდომის (RDMA) ტექნოლოგიის გამოყენებამ NVMe დისკებთან ერთად შეიძლება მკვეთრად შეამციროს ჩაწერის ოპერაციების შეყოვნება. თანამედროვე აღჭურვილობა, ერთი ჩაწერის ოპერაცია მონაცემთა ბაზაში იღებს NAND მეხსიერების დისკები სხვადასხვა სერვერები (ასლი ბრალია ტოლერანტობის) კასეტური დაგვიანებით დაახლოებით 200 uSec. ეს მნიშვნელოვნად ზრდის შესრულების დატვირთვის მოითხოვს დაბალი შეყოვნება და კიდევ განხორციელების მონაცემთა ბაზის სცენარი RAM. Nutanix იყო პირველი ვადასტურებ hyperconvergent სისტემა SAP HANA და გავიდა მას პირველად.



ნაბიჯი #3-საერთო ეფექტურობის გაუმჯობესება, წვდომის შეფერხების შემცირება და CPU დატვირთვა.

მას შემდეგ, რაც ყველა გაუმჯობესება

ზემოთ აღწერილი Nutanix ორიენტირებულია ოპერაციული სისტემისა და მისი ბირთვის დაბალი დონის ოპტიმიზაციაზე.

2020 წელს Nutanix-მა შემოიტანა Blockstore და SPDK ტექნოლოგია, რომელიც საშუალებას იძლევა არ გამოიყენოთ სისტემის ზარები NVMe დისკებთან მუშაობისთვის, თავიდან აიცილოთ OS ბირთვის დონეზე კონტექსტის გადართვა, არამედ შეასრულოთ ყველა ოპერაცია მომხმარებლის დონეზე. ეს არა მხოლოდ აუმჯობესებს პროდუქტიულობას, არამედ ზრდის ეფექტურობას.

ტესტები აჩვენებს მონაცემთა ბაზების 10-20% შესრულების ზრდას.





ნაბიჯი # 4 - Lift & Shift მიგრაცია

ბოლოდროინდელი გაუმჯობესებები საშუალებას გაძლევთ მიიღოთ მყისიერი შესრულების ზრდა მიგრაციის შემდეგ, Nutanix პლატფორმაზე ვირტუალური მანქანის კონფიგურაციისა და მონაცემთა ბაზის მართვის კონკრეტული სისტემის საუკეთესო პრაქტიკის გამოყენების გარეშე. ბევრ მომხმარებელს ფიქრი მიგრაცია საჯარო ღრუბლებში ან ახალი თაობის მონაცემთა შენახვის სისტემები, და ეს შეიძლება მოითხოვოს პროგრამული რეფაქტორინგი, კონფიგურაციის ცვლილებები და ა.შ. ინჟინრებისგან, რომ მიიღონ იგივე დონის შესრულება.

Nutanix იყენებს ჩაშენებული დისკის დანაწევრების (sharding) მექანიზმი მიიღოს პარალელურად ოპერაციების დონეზე მონაცემთა შენახვის ქვესისტემის, და რაც მთავარია, ეს ყველაფერი ყოველგვარი ადმინისტრატორის ჩარევის შეცვლის კონფიგურაციის მონაცემთა ბაზა და ვირტუალური მანქანა.

Nutanix-მა გააუმჯობესა შესრულება ერთი დისკისთვის, რომელზეც ინახება მონაცემთა ბაზა, თითქმის 2-ჯერ მონაცემთა ბაზის ოპტიმიზაციის საჭიროების გარეშე, მისი რამდენიმე ფაილად და დისკად გაყოფით.


ნაწილი II. შედეგები

იმის გათვალისწინებით, ყველა გაუმჯობესების ზემოთ აღწერილი, აქვს გარდამტეხი წერტილი იქნა მიღწეული მიგრაცია ყველაზე მონაცემთა ბაზის დატვირთვის სცენარი hyperconvergent Nutanix სისტემა?

Microsoft SQL Server

Nutanix-ზე მონაცემთა ბაზის მართვის მეორე ყველაზე პოპულარული სისტემაა Microsoft SQL Server, ტესტის დატვირთვა წარმოიქმნება HammerDB (TPC–C). ჩვენ ვხედავთ, დაგვიანებით ნაკლები 1 ms დონეზე ვირტუალური მანქანა ოპერაციული სისტემა. მონაცემთა შენახვის ქვესისტემა ქმნის ერთგვაროვან დატვირთვას ვირტუალური მანქანის 16 პროცესორის ბირთვზე, გამოთვლითი რესურსების პრაქტიკულად 100% - იანი გამოყენებით.



თანმიმდევრული შესრულება ტესტის შესრულების რამდენიმე საათის განმავლობაში.