Dmitriy Kononov.
ვისაუბროთკონტაქტი

სიახლეები და ანალიზი

მძიმე ანგარიშები და საოპერაციო მონაცემთა ბაზა: დატვირთვის გამიჯვნა

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

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

რეპლიკა ნაცნობ მოთხოვნათა ინტერფეისს ინარჩუნებს

PlanetScale-მა Postgres-ისთვის გამოყოფილი წაკითხვის რეპლიკები წარადგინა, დამოუკიდებლად შერჩეული ზომითა და ცალკე endpoint-ით. რეპლიკაცია ასინქრონულია. ამიტომ ანგარიშის მომხმარებლებმა უნდა შეათანხმონ დასაშვები ჩამორჩენა, აპლიკაციამ კი კავშირების დანიშნულებები უნდა განასხვაოს.

ეს შეიძლება მოერგოს გუნდს, რომლის ანგარიშები უკვე საოპერაციო SQL-ს იყენებს და რომლის მთავარი მოთხოვნა ძვირი წაკითხვების გამიჯვნაა. რეპლიკა ყველა ანგარიშს მყისიერს არ ხდის. გაზომეთ რეალური მოთხოვნები და შეამოწმეთ ქცევა, როცა რეპლიკაცია ჩამორჩება. გადაწყვიტეთ, უნდა აჩვენებდეს თუ არა ანგარიში დაუყოვნებლივ მომხმარებლის მიერ ახლახან შეცვლილ ჩანაწერს.

ანალიტიკური ასლი შენახვის გზას ცვლის

Percona-მ DBTrail აღწერა: mydumper MySQL-ის საწყის ასლს Parquet-ში ქმნის, ცვლილებები binary log-ით მოდის, ხოლო DuckDB მიღებულ მონაცემებზე მოთხოვნებს ასრულებს. წყაროს MySQL ინსტანციაში არც plugin და არც trigger არ სჭირდება. გამოქვეყნებული წარმადობის შედეგები მითითებულ სატესტო გარემოს ეკუთვნის და არა ნებისმიერ მომხმარებლის მონაცემთა ბაზას.

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

საოპერაციო მონაცემთა ბაზა კოპირების ხიდით ცალკე ანალიტიკურ საცავს უკავშირდება.

საოპერაციო და ანალიტიკური დატვირთვების გამიჯვნის კონცეპტუალური AI ილუსტრაცია.

აირჩიეთ იმ გადაწყვეტილების მიხედვით, რომელსაც ანგარიში ემსახურება

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

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

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

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

წყაროები