ในวันที่ 11-12 กรกฎาคมการประชุมจะจัดขึ้นที่เซนต์ปีเตอร์สเบิร์ก
Hydra เป็นหนึ่งในการประชุมที่สำคัญที่สุดของเราในช่วงไม่กี่ปีที่ผ่านมา นำหน้าด้วยการเตรียมการอย่างจริงจัง การเลือกวิทยากรและรายงาน เกี่ยวกับมันเมื่อสัปดาห์ที่แล้ว
เรา
แรงจูงใจ
หากคุณกำลังเขียนโปรแกรม คุณจะต้องจัดการกับมัลติเธรดและการประมวลผลแบบกระจายไม่ทางใดก็ทางหนึ่ง ผู้เชี่ยวชาญในสาขาที่เกี่ยวข้องทำงานร่วมกับพวกเขาโดยตรง แต่โดยปริยาย การแจกจ่ายจะมองเราจากทุกที่: ในคอมพิวเตอร์แบบมัลติคอร์หรือบริการแบบกระจาย มีบางอย่างที่ทำการคำนวณแบบคู่ขนานกัน
มีการประชุมมากมายที่ครอบคลุมบางแง่มุมของการเขียนโปรแกรมแอ็พพลิเคชัน ในอีกด้านหนึ่งของสเปกตรัม เรามีโรงเรียนสอนพิเศษทางวิทยาศาสตร์ในรูปแบบการบรรยาย ซึ่งเผยให้เห็นทฤษฎีที่ซับซ้อนจำนวนมหาศาล ตัวอย่างเช่น ควบคู่ไปกับไฮดราในเซนต์ปีเตอร์สเบิร์ก
ลองนึกถึงสิ่งนี้: เราอยู่ในช่วงเวลาที่น่าทึ่งที่คุณจะได้พบกับผู้ก่อตั้งสาขาวิทยาศาสตร์และวิศวกรรมศาสตร์ที่เรามีส่วนร่วมแบบสดๆ นักฟิสิกส์จะไม่พบนิวตันหรือไอน์สไตน์ - รถไฟออกไปแล้ว แต่บรรดาผู้ที่สร้างรากฐานของทฤษฎีระบบกระจาย คิดค้นภาษาโปรแกรมยอดนิยม และเป็นครั้งแรกที่รวบรวมทั้งหมดนี้ไว้ในต้นแบบการทำงานยังคงอยู่ถัดจากเรา คนเหล่านี้ไม่ได้ลาออกจากงานกลางคัน ปัจจุบันทำงานจริงในมหาวิทยาลัยและบริษัทที่มีชื่อเสียงระดับโลก และเป็นแหล่งความรู้และประสบการณ์ที่ยิ่งใหญ่ที่สุดในปัจจุบัน
ในทางกลับกัน โอกาสที่จะได้พบพวกเขามักจะเป็นเพียงทฤษฎีเท่านั้น: มีเพียงไม่กี่คนที่สามารถติดตามกิจกรรมสาธารณะที่มหาวิทยาลัยโรเชสเตอร์บางแห่งอย่างต่อเนื่อง เพื่อที่จะรีบไปสหรัฐอเมริกาและกลับไปฟังการบรรยายของไมเคิล สก็อตต์ การเยี่ยมชมสมาชิกทั้งหมดของไฮดราโดยทั่วไปจะเป็นโชคเล็กน้อย นอกเหนือจากเวลาที่ใช้ไปอย่างยาวนาน (แม้ว่าจะฟังดูเหมือนเป็นภารกิจที่น่าสนใจก็ตาม)
ในทางกลับกัน เรามีวิศวกรชั้นนำจำนวนมากที่กำลังแก้ไขปัญหาที่แท้จริงของระบบกระจายอยู่ในขณะนี้ และพวกเขามีบางอย่างที่จะบอกเราอย่างแน่นอน แต่นี่คือปัญหา - พวกเขา работаютและเวลาของพวกเขามีค่า ใช่ หากคุณเป็นพนักงานของ Microsoft, Google หรือ JetBrains ความน่าจะเป็นที่จะได้พบกับวิทยากรที่มีชื่อเสียงในงานภายในจะเพิ่มขึ้นอย่างมาก แต่โดยทั่วไป - ไม่ มันไม่ได้เกิดขึ้นทุกวัน
ด้วยวิธีนี้ การประชุม Hydra บรรลุงานสำคัญที่พวกเราส่วนใหญ่ไม่สามารถทำได้ด้วยตนเอง - ในที่เดียวและในคราวเดียว รวบรวมผู้คนที่มีแนวคิดหรือการสื่อสารด้วยที่สามารถเปลี่ยนแปลงชีวิตของคุณได้ ฉันยอมรับว่าไม่ใช่ทุกคนที่ต้องการระบบกระจาย บางสิ่งพื้นฐานที่ซับซ้อน คุณสามารถตั้งโปรแกรม CRUD ใน PHP ได้ตลอดชีวิตและมีความสุขอย่างเต็มที่ แต่ใครต้องการ - นี่เป็นโอกาสของคุณ
เวลาผ่านไปค่อนข้างนานตั้งแต่การประกาศครั้งแรกของการประชุม Hydra ใน Habré ในช่วงเวลานี้ มีการทำงานจำนวนมาก - และตอนนี้ เรามีรายการรายงานเกือบทั้งหมด ไม่มีอัลกอริทึมแบบเธรดเดียวที่เฉื่อยชา เป็นเพียงฮาร์ดคอร์แบบกระจายเท่านั้น! จบด้วยคำทั่วไปและดูสิ่งที่เรามีอยู่ตอนนี้
ประเด็นสำคัญ
คำปราศรัยเริ่มต้นและสิ้นสุดวันของการประชุม โดยปกติแล้ว จุดประสงค์ของการเปิดประเด็นสำคัญคือเพื่อกำหนดเจตนารมณ์และทิศทางของการประชุม ประเด็นสำคัญปิดท้ายเป็นการสรุปและอธิบายว่าเราจะใช้ชีวิตอย่างไรกับความรู้และทักษะที่ได้รับระหว่างวันของการประชุม จุดเริ่มต้นและจุดสิ้นสุด: สิ่งที่จำได้ดีที่สุดและโดยทั่วไปมีมูลค่าเพิ่มขึ้น
คลิฟคลิก- อัลกอริทึม K/V แบบกระจาย H2O
Cliff เป็นตำนานในโลกชวา ในช่วงปลายยุค 90 สำหรับวิทยานิพนธ์ระดับปริญญาเอก เขาเขียนบทความชื่อ
ในคำปราศรัยเปิดงาน คลิฟฟ์จะพูดถึงภารกิจอื่นๆ ของเขา -
อีกหนึ่งคำพูดที่คลิฟฟ์จะพูดคือ
ส่วนที่น่าสนใจที่สุดเริ่มต้นขึ้นเมื่อพวกเขาสร้างฮาร์ดแวร์สำหรับธุรกิจขนาดใหญ่ นั่นคือ ซูเปอร์คอมพิวเตอร์สำหรับรันจาวา มันค่อนข้างเป็นนวัตกรรมใหม่ซึ่งปรับแต่งมาโดยเฉพาะสำหรับ Java ซึ่งมีข้อกำหนดพิเศษ - อุปสรรคของหน่วยความจำสำหรับการอ่านสำหรับการรวบรวมขยะที่หยุดชั่วคราว, อาร์เรย์ที่มีการตรวจสอบขอบเขต, การโทรเสมือน ... หนึ่งในเทคโนโลยีที่ยอดเยี่ยมที่สุดคือหน่วยความจำธุรกรรมของฮาร์ดแวร์ L1 ทั้งหมดของคอร์ใดๆ จาก 864 คอร์สามารถเข้าร่วมในการเขียนทรานแซกชัน ซึ่งเป็นสิ่งสำคัญอย่างยิ่งสำหรับการทำงานกับการล็อกใน Java (บล็อกที่ซิงโครไนซ์สามารถทำงานแบบขนานได้ ตราบใดที่ไม่มีความขัดแย้งของหน่วยความจำจริง) แต่แนวคิดที่สวยงามกลับขัดแย้งกับความเป็นจริงอันโหดร้าย และในรายงานนี้ Cliff จะบอกคุณว่าทำไม HTM และ STM จึงไม่เหมาะกับความต้องการเชิงปฏิบัติของการประมวลผลแบบมัลติเธรด
ไมเคิล สก็อตต์- โครงสร้างข้อมูลคู่
คนทั้งโลกรู้จักไมเคิลด้วยตำราเรียน
สำหรับโลก Java นี่เป็นกรณีพิเศษ เขาร่วมกับ Doug Lea พัฒนาอัลกอริทึมแบบไม่ปิดกั้นและคิวแบบซิงโครนัสที่ไลบรารี Java เรียกใช้ นี่คือประเด็นสำคัญของ "โครงสร้างข้อมูลคู่" - การแนะนำโครงสร้างเหล่านี้ใน Java SE 6 ทำให้เราสามารถปรับปรุงประสิทธิภาพได้ถึง 10 เท่า java.util.concurrent.ThreadPoolExecutor
. หากคุณสนใจล่วงหน้าว่า "โครงสร้างข้อมูลคู่" เหล่านี้คืออะไร
มอริส เฮอร์ลิฮี- Blockchains และอนาคตของการประมวลผลแบบกระจาย
ในคำปราศรัยปิดท้ายนี้ Maurice จะพูดคุยเกี่ยวกับทฤษฎีและการปฏิบัติของระบบบล็อกเชนแบบกระจายจากมุมมองของการประมวลผลแบบกระจายแบบคลาสสิก และวิธีที่มันช่วยลดความซับซ้อนของปัญหาที่เกี่ยวข้องมากมาย รายงานนี้มีเฉพาะในหัวข้อของการประชุม - ไม่เกี่ยวกับการโฆษณาชวนเชื่อแต่อย่างใด แต่เกี่ยวกับความรู้ของเราที่สามารถนำมาใช้อย่างมีประสิทธิภาพอย่างน่าอัศจรรย์และเหมาะสมโดยสัมพันธ์กับงานที่หลากหลายได้อย่างไร
ในเดือนกรกฎาคม 2017 Maurice เดินทางมายังรัสเซียที่โรงเรียน SPTDC เข้าร่วมมีตติ้ง JUG.ru และสามารถดูการบันทึกได้บน YouTube:
โปรแกรมหลัก
จากนั้นจะมีการตรวจสอบสั้น ๆ ของรายงานที่รวมอยู่ในโปรแกรม รายงานบางฉบับมีรายละเอียดอธิบายไว้ที่นี่ บางรายงานสั้นกว่านั้น คำอธิบายแบบยาวส่วนใหญ่จะเป็นรายงานภาษาอังกฤษซึ่งต้องมีลิงก์ไปยังเอกสารทางวิทยาศาสตร์ คำศัพท์ในวิกิพีเดีย และอื่นๆ รายการที่สมบูรณ์สามารถ
เลสลี่ แลมพอร์ต- ถาม & ตอบ
Leslie Lamport เป็นผู้บุกเบิกด้านการประมวลผลแบบกระจาย
นี่เป็นส่วนที่ผิดปกติที่สุดของโปรแกรมในแง่ของรูปแบบ เนื่องจากไม่ใช่แม้แต่รายงาน แต่เป็นเซสชันคำถามและคำตอบ เมื่อผู้ฟังส่วนสำคัญคุ้นเคย (หรืออาจคุ้นเคย) กับงานทุกประเภทตามทฤษฎีของแลมพอร์ต บทความและรายงานของเขาเอง การใช้เวลาทั้งหมดที่มีในการสื่อสารโดยตรงจึงมีความสำคัญมากกว่า
แนวคิดนั้นง่าย - คุณดูรายงานสองรายการบน YouTube:
เรามีวิดีโอแรกจากสองวิดีโอนี้แล้ว
หมายเหตุ: มีวิดีโออีกมากมายบน YouTube ที่มีเลสลี่ แลมพอร์ต ตัวอย่างเช่นมีที่ยอดเยี่ยม
มาร์ติน เคลปป์แมน - การซิงค์ข้อมูลระหว่างอุปกรณ์ของผู้ใช้เพื่อการทำงานร่วมกันแบบกระจาย
Martin Kleppmann เป็นนักวิจัยที่มหาวิทยาลัยเคมบริดจ์ที่ทำงานเกี่ยวกับ CRDT และการตรวจสอบอัลกอริทึมอย่างเป็นทางการ หนังสือของมาร์ติน
ก่อนเข้าสู่การวิจัยเชิงวิชาการ Martin ทำงานในอุตสาหกรรมนี้และร่วมก่อตั้งสตาร์ทอัพที่ประสบความสำเร็จสองแห่ง:
- สายสัมพันธ์ ทุ่มเทให้กับการแสดงโปรไฟล์โซเชียลของผู้ติดต่อทางอีเมลของคุณ ซึ่ง LinkedIn ซื้อในปี 2012
- ไปทดสอบ เครื่องมือตรวจสอบเว็บไซต์อัตโนมัติหลายเบราว์เซอร์ที่ RedGate ซื้อในปี 2009
โดยทั่วไปแล้ว แม้ว่า Martin จะเป็นที่รู้จักน้อยกว่าผู้กล่าวสุนทรพจน์ของเรา แต่เขาก็สามารถมีส่วนร่วมทั้งในการพัฒนาระบบคอมพิวเตอร์แบบกระจายและอุตสาหกรรม
ในการพูดคุยนี้ มาร์ตินจะพูดถึงหัวข้อที่ใกล้เคียงกับงานวิจัยทางวิชาการของเขามากขึ้น ใน Google เอกสารและโซฟาที่คล้ายกันสำหรับการเขียนเอกสารร่วมกัน "การเขียนร่วม" หมายถึงงานจำลองแบบ: ผู้ใช้แต่ละรายมีสำเนาเอกสารที่แบ่งปันของตนเอง จากนั้นจึงทำการแก้ไข และการเปลี่ยนแปลงทั้งหมดจะถูกส่งผ่านเครือข่ายไปยังส่วนที่เหลือ ของผู้เข้าร่วม การเปลี่ยนแปลงเอกสารแบบออฟไลน์ส่งผลให้เกิดความไม่สอดคล้องกันของเอกสารชั่วคราวเกี่ยวกับผู้เข้าร่วมรายอื่น และการซิงโครไนซ์ใหม่จำเป็นต้องมีการจัดการข้อขัดแย้ง สำหรับที่มีเพียงแค่นี้
สัปดาห์หน้าเราจะเผยแพร่บทสัมภาษณ์ใหญ่ของ Martin เกี่ยวกับ Habré ซึ่งจะน่าสนใจ
เปโดร รามาลเฮเต - โครงสร้างข้อมูลที่ไม่ต้องรอและธุรกรรมที่ไม่ต้องรอ
Pedro ทำงานที่ Cisco และได้พัฒนาอัลกอริทึมแบบขนานในช่วงสิบปีที่ผ่านมา รวมถึงกลไกการซิงโครไนซ์ โครงสร้างข้อมูลแบบไม่ต้องล็อกและไม่มีการรอ และทุกสิ่งที่คุณนึกถึงในหัวข้อนี้ ความสนใจด้านการวิจัยและวิศวกรรมในปัจจุบันของเขามุ่งเน้นไปที่ Universal Constructions, Software Transactional Memory, Persistent Memory และเทคโนโลยีที่คล้ายคลึงกันเพื่อเปิดใช้งานแอปพลิเคชันที่ถูกต้อง ปรับขยายได้ และทนทานต่อข้อผิดพลาด และเขายังเป็นผู้เขียนบล็อกที่รู้จักกันแพร่หลายในวงแคบอีกด้วย
ปัจจุบัน แอปพลิเคชันแบบมัลติเธรดส่วนใหญ่ทำงานบนโครงสร้างข้อมูลแบบขนาน ตั้งแต่การใช้คิวข้อความระหว่างตัวแสดงไปจนถึงโครงสร้างข้อมูลที่จัดทำดัชนีในที่เก็บคีย์-ค่า พวกเขาทำงานสำเร็จใน Java JDK มาหลายปีแล้ว และกำลังถูกเพิ่มลงใน C ++ อย่างช้าๆ
วิธีที่ง่ายที่สุดในการปรับใช้โครงสร้างข้อมูลแบบขนานคือการใช้งานแบบอนุกรม (เธรดเดียว) ซึ่งเมธอดได้รับการป้องกันโดย mutexes สิ่งนี้ใช้ได้กับทุก ๆ เดือนมิถุนายน แต่มีปัญหาด้านขนาดและประสิทธิภาพที่ชัดเจน ในขณะเดียวกัน โครงสร้างข้อมูลที่ไม่มีการล็อกและไม่มีการรอไม่เพียงแต่จัดการข้อผิดพลาดได้ดีขึ้นเท่านั้น แต่ยังมีโปรไฟล์ประสิทธิภาพที่ดีขึ้นด้วย อย่างไรก็ตาม การพัฒนาต้องอาศัยความเชี่ยวชาญเชิงลึกและการปรับให้เข้ากับกรณีการใช้งานเฉพาะ รหัสผิดบรรทัดเดียวก็เพียงพอที่จะทำลายทุกอย่าง
จะแน่ใจได้อย่างไรว่าแม้แต่ผู้ที่ไม่ใช่ผู้เชี่ยวชาญก็สามารถออกแบบและใช้โครงสร้างข้อมูลดังกล่าวได้ เป็นที่ทราบกันดีว่าอัลกอริทึมแบบลำดับใด ๆ สามารถทำให้เธรดปลอดภัยได้
ไฮดี้ โฮเวิร์ด- การปลดปล่อยฉันทามติแบบกระจาย
Heidi Howard เป็นเหมือน Martin นักวิจัยระบบกระจายที่มหาวิทยาลัยเคมบริดจ์ ความเชี่ยวชาญของเธอคือความสม่ำเสมอ การยอมรับข้อผิดพลาด ประสิทธิภาพ และฉันทามติแบบกระจาย เธอเป็นที่รู้จักกันดีที่สุดจากการวางอัลกอริทึม Paxos ของเธอโดยทั่วไป
จำได้ว่า
ความสามารถในการค้นหาฉันทามติระหว่างโฮสต์หลาย ๆ ตัว—สำหรับการระบุที่อยู่ การเลือกผู้นำ การบล็อก หรือการประสานงาน—เป็นปัญหาพื้นฐานในระบบแบบกระจายในปัจจุบัน ขณะนี้ Paxos เป็นวิธีหลักในการแก้ปัญหาที่เป็นเอกฉันท์ และมีการวิจัยจำนวนมากเกี่ยวกับปัญหาดังกล่าวเพื่อขยายและเพิ่มประสิทธิภาพอัลกอริทึมสำหรับความต้องการในทางปฏิบัติต่างๆ
ในรายงานนี้ เราจะทบทวนพื้นฐานทางทฤษฎีของ Paxos อีกครั้ง โดยผ่อนคลายข้อกำหนดเบื้องต้นและสรุปอัลกอริทึม เราจะเห็นว่า Paxos เป็นเพียงหนึ่งในตัวเลือกจากแนวทางต่างๆ มากมายเพื่อฉันทามติ และประเด็นอื่นๆ บนสเปกตรัมก็มีประโยชน์มากทีเดียวสำหรับการสร้างระบบกระจายที่ดี
อเล็กซ์ เปตรอฟ - ลดต้นทุนการจัดเก็บของคุณด้วยการจำลองแบบชั่วคราวและโควรัมราคาถูก
อเล็กซ์เป็นผู้เชี่ยวชาญด้านฐานข้อมูลและสตอเรจ และที่สำคัญกว่านั้นคือเป็นคอมมิชชันที่
สำหรับระบบที่มี
อย่างไรก็ตาม ทุกอย่างมีราคาของมัน รูปแบบการจำลองแบบองค์ประชุมหมายถึงค่าใช้จ่ายในการจัดเก็บที่เพิ่มขึ้น: คุณต้องจัดเก็บข้อมูลที่ซ้ำซ้อนไว้บนหลายโหนดพร้อมกันเพื่อให้แน่ใจว่ามีสำเนาเพียงพอเมื่อเกิดปัญหา ปรากฎว่าคุณไม่สามารถเก็บข้อมูลทั้งหมดในแบบจำลองทั้งหมดได้ คุณสามารถลดภาระในการจัดเก็บได้หากคุณเก็บข้อมูลเฉพาะบนโหนดบางส่วน และใช้โหนดพิเศษ (Transient Replica) สำหรับสถานการณ์การจัดการความล้มเหลว
ในระหว่างการรายงานเราจะพิจารณา
Dmitry Vyukov - เปิดเผย goroutines
Dmitry เป็นนักพัฒนาของ Google ที่ทำงานเกี่ยวกับ C/C++ และ Go การทดสอบไดนามิก - Address/Memory/ThreadSanitizer และเครื่องมือที่คล้ายกันสำหรับเคอร์เนล Linux เขาได้สนับสนุนตัวกำหนดตารางเวลา goroutine ที่ปรับขนาดได้ เครื่องมือสำรวจเครือข่าย และตัวรวบรวมขยะที่ทำงานพร้อมกันให้กับ Go เขาเป็นผู้เชี่ยวชาญด้านมัลติเธรด ผู้เขียนอัลกอริธึมแบบไม่บล็อกใหม่นับสิบ และเป็นเจ้าของ
ตอนนี้เล็กน้อยเกี่ยวกับรายงานเอง ภาษา Go มีการรองรับแบบเนทีฟสำหรับมัลติเธรดในรูปแบบของ goroutines (เธรดที่มีน้ำหนักเบา) และช่องสัญญาณ (คิว FIFO) ด้วยกลไกเหล่านี้ทำให้ผู้ใช้เขียนแอปพลิเคชันแบบมัลติเธรดที่ทันสมัยได้ง่ายและน่าพอใจมากและดูเหมือนเวทมนตร์ อย่างที่เราเข้าใจไม่มีเวทมนตร์ที่นี่ ในรายงานนี้ Dmitry จะเจาะลึกความซับซ้อนของตัวกำหนดตารางเวลา Go และแสดงความลับของการใช้ "เวทมนตร์" นี้ ขั้นแรก เขาจะอธิบายภาพรวมขององค์ประกอบหลักของตัวกำหนดตารางเวลาว่ามันทำงานอย่างไร ต่อไป เราจะพิจารณารายละเอียดบางประการ เช่น กลยุทธ์การจอดรถ / ยกเลิกการจอดรถ และการจัดการการเรียกระบบบล็อก สุดท้าย Dmitry จะพูดคุยเกี่ยวกับการปรับปรุงที่เป็นไปได้เล็กน้อยในตัวกำหนดตารางเวลา
ดมิทรี บูไกเชนโก - เร่งการวิเคราะห์กราฟแบบกระจายด้วยภาพร่างความน่าจะเป็นและอื่น ๆ
Dmitry ทำงานด้านเอาท์ซอร์สมาเกือบ 9 ปี โดยไม่ขาดการติดต่อกับมหาวิทยาลัยและชุมชนวิทยาศาสตร์ การวิเคราะห์ข้อมูลขนาดใหญ่ใน Odnoklassniki เป็นโอกาสพิเศษสำหรับเขาที่จะรวมการฝึกอบรมเชิงทฤษฎีและพื้นฐานทางวิทยาศาสตร์เข้ากับการพัฒนาผลิตภัณฑ์จริงที่เป็นที่ต้องการ
การวิเคราะห์กราฟแบบกระจายนั้นเป็นงานที่ยากและยังคงเป็นงานที่ยาก เมื่อจำเป็นต้องได้รับข้อมูลเกี่ยวกับการเชื่อมต่อของจุดยอดที่อยู่ใกล้เคียง ข้อมูลมักจะต้องถูกถ่ายโอนระหว่างเครื่อง ซึ่งนำไปสู่การเพิ่มเวลาดำเนินการและโหลดบนเครือข่าย โครงสร้างพื้นฐาน ในการพูดคุยนี้ เราจะมาดูกันว่าคุณจะได้รับการประมวลผลที่รวดเร็วขึ้นอย่างมากได้อย่างไรโดยใช้โครงสร้างข้อมูลที่น่าจะเป็นหรือข้อเท็จจริง เช่น ความสมมาตรของกราฟมิตรภาพในโซเชียลเน็ตเวิร์ก ทั้งหมดนี้แสดงด้วยตัวอย่างโค้ด Apache Spark
เดนิส ริสซอฟ - ลดต้นทุนการจัดเก็บของคุณด้วยการจำลองแบบชั่วคราวและโควรัมราคาถูก
เดนิส - นักพัฒนา
ในรายงานนี้ เราจะทำความคุ้นเคยกับโปรโตคอลธุรกรรมแบบกระจายที่ได้รับการคิดค้นในช่วงไม่กี่ปีที่ผ่านมา ซึ่งสามารถนำไปใช้ในฝั่งไคลเอนต์บนที่เก็บข้อมูลใดๆ ที่รองรับการอัปเดตแบบมีเงื่อนไข (เปรียบเทียบและตั้งค่า) สิ่งสำคัญที่สุดคือชีวิตไม่ได้จบลงด้วยการคอมมิตแบบสองเฟส ธุรกรรมสามารถเพิ่มบนฐานข้อมูลใดก็ได้ - ที่ระดับแอปพลิเคชัน แต่โปรโตคอลที่แตกต่างกัน (2PC, Percolator, RAMP) มีการแลกเปลี่ยนที่แตกต่างกันและไม่ได้มอบให้เรา ฟรี.
อเล็กซี่ ซิโนเวียฟ - อัลกอริธึม ML บางส่วนไม่ได้จบลงในสวรรค์แบบกระจาย
อเล็กซี่ (
ในการพูดคุยนี้ Alexey จะพูดถึงปัญหาของการปรับอัลกอริทึมการเรียนรู้ของเครื่องแบบคลาสสิกสำหรับการดำเนินการแบบกระจายตามประสบการณ์ของเขากับ Apache Spark ML, Apache Mahout, Apache Flink ML และประสบการณ์ในการสร้าง Apache Ignite ML Alexey จะพูดคุยเกี่ยวกับการใช้อัลกอริทึม ML แบบกระจายในเฟรมเวิร์กเหล่านี้
และโดยสรุป รายงานสองฉบับจากยานเดกซ์เกี่ยวกับฐานข้อมูลยานเดกซ์
วลาดิสลาฟ คุซเนตซอฟ — ฐานข้อมูล Yandex - วิธีที่เราให้การยอมรับข้อผิดพลาด
Vladislav เป็นนักพัฒนาที่ Yandex ในกลุ่มแพลตฟอร์มแบบกระจาย Yandex Database เป็น DBMS ที่ปรับขนาดตามแนวนอน กระจายตามพื้นที่ และทนทานต่อข้อผิดพลาด ซึ่งสามารถทนต่อความล้มเหลวของดิสก์ เซิร์ฟเวอร์ แร็ค และศูนย์ข้อมูลโดยไม่สูญเสียความสม่ำเสมอ เพื่อให้แน่ใจว่ามีความทนทานต่อข้อผิดพลาด จึงมีการใช้อัลกอริธึมที่เป็นเอกฉันท์แบบกระจายที่เป็นกรรมสิทธิ์ รวมถึงโซลูชันทางเทคนิคจำนวนหนึ่ง ซึ่งจะกล่าวถึงในรายละเอียดในรายงาน รายงานนี้อาจเป็นที่สนใจของทั้งนักพัฒนา DBMS และผู้พัฒนาโซลูชันที่ใช้ตาม DBMS
เซมยอน เชเชรินดา - การทำธุรกรรมแบบกระจายใน YDB
Semyon เป็นนักพัฒนาในกลุ่มแพลตฟอร์มแบบกระจายที่ Yandex ซึ่งทำงานเกี่ยวกับความเป็นไปได้ในการใช้การติดตั้ง YDB แบบหลายผู้เช่า
Yandex Database ได้รับการออกแบบมาสำหรับการสืบค้น OLTP และตรงตามข้อกำหนดของกรดสำหรับระบบธุรกรรม ในรายงาน เราจะพิจารณาอัลกอริทึมการตั้งเวลาธุรกรรมที่อยู่ภายใต้ระบบธุรกรรม YDB มาวิเคราะห์กันว่าหน่วยงานใดมีส่วนร่วมในการทำธุรกรรม ใครเป็นผู้กำหนดคำสั่งซื้อสากลให้กับธุรกรรม การทำธุรกรรมในระดับปรมาณู ความน่าเชื่อถือ และระดับการแยกตัวที่เข้มงวดเป็นอย่างไร ใช้ตัวอย่างของงานทั่วไป ลองพิจารณาการดำเนินธุรกรรมโดยใช้การกระทำแบบสองเฟสและธุรกรรมที่กำหนดขึ้น มาหารือเกี่ยวกับความแตกต่างของพวกเขา
ทำอะไรต่อไป
โปรแกรมการประชุมยังคงเต็มไปด้วยรายงานใหม่ๆ โดยเฉพาะอย่างยิ่ง เราคาดหวังรายงานจาก นิกิต้า โควัล (
การประชุม Hydra จะจัดขึ้นในวันที่ 11-12 กรกฎาคมที่เซนต์ปีเตอร์สเบิร์ก ตั๋วสามารถ
เจอกันที่ไฮดรา!
ที่มา: will.com