ทำไม Nosql ถึงดีสำหรับ Tinyurl

เผยแพร่แล้ว: 2022-12-23

มีเหตุผลมากมายที่จะรัก NoSQL สำหรับ TinyURL เหตุผลแรกคือ ฐานข้อมูล NoSQL ติดตั้งและใช้งานได้ง่ายมาก คุณไม่จำเป็นต้องมีทักษะหรือความรู้พิเศษในการเริ่มต้น สิ่งที่คุณต้องมีคือโปรแกรมแก้ไขข้อความและเว็บเบราว์เซอร์ อีกเหตุผลหนึ่งที่ทำให้ชอบ NoSQL ก็คือมันสามารถปรับขนาดได้มาก หากคุณต้องการเก็บข้อมูลเพิ่ม คุณก็แค่เพิ่มเซิร์ฟเวอร์เพิ่ม ไม่จำเป็นต้องกังวลเกี่ยวกับการแบ่งส่วนข้อมูลของคุณหรืออะไรทำนองนั้น ประการสุดท้าย ฐานข้อมูล NoSQL นั้นรวดเร็วมาก เนื่องจากได้รับการออกแบบให้มีน้ำหนักเบาและทำงานได้ดีกับเว็บแอปพลิเคชัน ดังนั้น หากคุณกำลังมองหาวิธีที่ง่ายและรวดเร็วในการจัดเก็บข้อมูลของคุณ NoSQL คือหนทางที่จะไป

บริการเว็บย่อ URL นี้มีนามแฝงสำหรับเปลี่ยนเส้นทาง URL แบบยาว ในการแทรก URL แบบสั้นใหม่ ก่อนอื่นเราต้องตรวจสอบว่ามีอยู่แล้วในฐานข้อมูลของเราหรือไม่ เนื่องจากเราได้สร้างตัวระบุใหม่ด้วยตัวเลขสุ่ม เราสามารถใช้วิธีนี้ได้หากเรามีเพียงระบบเดียวและไม่จำเป็นต้องจัดการกับระบบแบบกระจาย หากผู้ใช้สองคนพยายามเข้าถึง URL ที่ยาวเหมือนกัน 'A' คุณไม่จำเป็นต้องแทรกเนื่องจากการแมปอยู่ในฐานข้อมูล จะเกิดอะไรขึ้นเมื่อคุณเปลี่ยน URL แบบยาว การแทรกการแมปที่สร้างขึ้นจะต้องเปลี่ยนอินพุตและป้อนหากไม่มี ดังนั้นการดำเนินการนี้จะเสร็จสิ้นในฐานข้อมูล NoSQL ไม่ใช่สิ่งที่เราสามารถใช้ได้ที่นี่

เทคนิคที่สามคือการใช้ตัวนับซึ่งปลอดภัยต่อเกลียว เราจะต้องพึ่งห้องสมุด-สวนสัตว์ของ Apache Foundation เพื่อแก้ปัญหานี้ Zookeeper เป็นบริการประสานงานแบบกระจายที่จัดการเครื่องโฮสต์หลายเครื่อง เซิร์ฟเวอร์เหล่านี้เป็นส่วนหนึ่งของระบบนี้แล้ว ชุดค่าผสมต้องอยู่ในช่วงประมาณ 3.5 ล้านล้านจึงจะแตก ช่วงเคาน์เตอร์ของแต่ละบริการจะถูกกำหนดทันทีที่บริการร้องขอ สามารถใช้ฐานข้อมูลทั้งสามประเภท ได้แก่ RDBMS และ NoSQL ได้ที่นี่ ซึ่งทั้งหมดนี้สามารถปรับขนาดได้สูง

Tinyurl ใช้อัลกอริทึมอะไร

Tinyurl ใช้อัลกอริทึมอะไร
ที่มาของภาพ: ปานกลาง

อันที่จริงแล้ว อัลกอริทึมการแยกย่อยข้อความ MD5 มักใช้ในการดำเนินการแฮชด้วยค่า 128 บิต (หรือเลขฐานสิบหก 32 หลัก) ตัวอย่างเช่น เราสามารถสร้าง URL แบบสั้นและยาว 7 อักขระโดยใช้เลขฐานสิบหก 32 หลักเหล่านี้ สร้าง TinyURL โดยใช้อัลกอริทึม MD5 โดยแปลง URL แบบยาวเป็น URL แบบสั้นและกำหนดให้ใช้อักขระเจ็ดตัวแรกเท่านั้น

ในหน้าแรกของ TinyURL มีแบบฟอร์มสำหรับย่อ URL ที่ยาวให้สั้นลง ในแต่ละ URL ที่ป้อน เซิร์ฟเวอร์จะเพิ่มนามแฝงไปยัง ฐานข้อมูลที่แฮช ทำให้มี URL ที่สั้น URL แบบย่อจะไม่มีวันหมดอายุตามเว็บไซต์ หน้าแรกของ TinyURL ไม่จำเป็นต้องลงทะเบียน คุณไม่จำเป็นต้องลงชื่อเข้าใช้เว็บไซต์ อย่างไรก็ตาม ไม่มีการวิเคราะห์หรือคุณลักษณะขั้นสูงอื่น ๆ ซึ่งเป็นข้อเสีย แม้ว่าจะเห็นได้ชัดว่าการไม่มีการวิเคราะห์เป็นข้อเสีย แต่ก็มีข้อได้เปรียบที่ชัดเจนในการไม่ต้องสร้างบัญชี เป็นนิรนามโดยสมบูรณ์ และคุณไม่จำเป็นต้องกังวลเกี่ยวกับการถูกติดตาม คุณสามารถเก็บไว้ในกระเป๋าเงินของคุณได้ตลอดเวลา เพราะ URL ที่ย่อแล้วจะไม่มีวันหมดอายุ

Tinyurls: วิธีแก้ปัญหาที่มีประโยชน์สำหรับ URL แบบยาว

เมื่อคุณต้องการโพสต์ URL แต่ไม่ต้องการเปิดเผยที่อยู่ทั้งหมด TinyURL อาจมีประโยชน์ การใช้ TinyURL เพื่อแบ่งปันลิงก์ไปยังบล็อกโพสต์เป็นตัวเลือกที่ดี แต่ที่อยู่บล็อกจริงเป็นตัวเลือกที่ดีกว่า มีข้อกังวลอีกสองสามข้อที่ต้องพิจารณานอกเหนือจากนี้ TinyURLs มีความอ่อนไหวต่อกฎตัวพิมพ์เล็กและใหญ่ TinyURL จะแยกความแตกต่างด้วยตัวอักษร AZ และ 0-9 TinyURL ต้องมีความยาว 64 อักขระ TinyURLs สร้างด้วย websocket ที่เรียกว่า http:// โดยทั่วไปแล้ว TinyURL จะไม่ปรากฏบนเว็บเบราว์เซอร์ TinyURLs โดยไม่คำนึงถึงโปรโตคอล ใช้โดเมนเดียวกันโดยไม่คำนึงถึงตัวแปร ฉันจะสร้าง URL จิ๋วด้วยเทมเพลตได้อย่างไร ทางเลือกหนึ่งคือการใช้การแฮช เมื่อคุณใช้ฟังก์ชันแฮชเพื่อแปลงสตริงยาวเป็นสตริงสั้น คุณจะได้รับค่าแฮช เราต้องใช้ URL แบบสั้นที่ไม่ซ้ำกันสำหรับแต่ละ URL แบบยาว เพื่อให้เราสามารถดึง URL แบบยาวในกระบวนการแฮชได้ เมื่อ URL แบบยาวสองรายการถูกแมปกับ URL แบบสั้นเดียวกัน เราจะต้องใช้ URL แบบสั้นที่ไม่ซ้ำกันสำหรับแต่ละ URL แบบยาว TinyURL คืออะไร เมื่อ URL แบบยาวไม่พอดีกับความยาวบรรทัดที่ระบุ URL จิ๋วอาจมีประโยชน์ ตัวอย่างเช่น URL แบบยาวจำนวนมากสามารถแบ่งออกเป็นหลายบรรทัดในข้อความอีเมลและซอฟต์แวร์ PGP URL จิ๋วยังมีประโยชน์หากคุณไม่ต้องการเปิดเผย URL ทั้งหมด

ทำไม Tinyurl ถึงมีประโยชน์?

ทำไม Tinyurl ถึงมีประโยชน์?
ที่มาของภาพ: techforluddites

การ ย่อ URL ขนาดเล็ก เป็นเครื่องมือที่มีประโยชน์มากสำหรับการย่อลิงก์ด้วยวิธีต่างๆ สิ่งที่ดีที่สุดเกี่ยวกับมันก็คือมันใช้งานง่ายมากและคุณไม่ต้องกังวลเกี่ยวกับคุณสมบัติที่ซับซ้อน เป็นบริการที่ใช้งานง่ายที่ฉันไม่เคยใช้มาก่อน และมีบริการระดับสูงที่ฉันไม่เคยเห็นมาก่อนในบริการประเภทนี้

Tinyurls: มีประโยชน์ แต่ไม่ไร้ความเสี่ยง

มีความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับการใช้ tinyURL แต่ก็สามารถใช้ได้อย่างปลอดภัยหากคุณทราบ หากคุณได้รับอีเมลที่มี TinyURL คุณควรตรวจสอบอีกครั้งเพื่อดูว่านำไปสู่การหลอกลวงหรือการขโมยข้อมูลอื่นๆ หรือไม่

Tinyurl ทำอะไรเพื่อให้โพสต์ลิงก์ได้ง่ายขึ้น

TinyURL เป็นบริการย่อ URL ที่รับ URL ที่ยาวและแปลงเป็นลิงก์ที่สั้นลงและสามารถจัดการได้มากขึ้น สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อโพสต์ลิงก์บนเว็บไซต์โซเชียลมีเดียหรือในฟอรัม ซึ่งจำนวนอักขระสูงสุดอาจจำกัดความยาวของ URL เมื่อใช้ TinyURL ผู้ใช้สามารถโพสต์ลิงก์ที่แชร์และอ่านได้ง่ายขึ้น

เมื่อย่อที่อยู่เว็บ TinyURLTM จะทำให้สามารถเข้าถึงเว็บไซต์ได้โดยไม่ต้องใช้ที่อยู่ทั้งหมด URL เหล่านี้ใช้เพื่อส่งข้อความถึงผู้ใช้ในบริการส่งข้อความ เช่น Facebook หรือ Twitter มีประโยชน์อย่างยิ่งสำหรับองค์กรข่าวและเว็บไซต์อื่นๆ ที่มี URL ยาว TinyURL เปิดตัวในปี 2545 โดยเป็นทางเลือกแทน URL ดั้งเดิม ในโลกปัจจุบัน คุณสามารถสร้าง TinyURL ของคุณเองโดยใช้บริการอย่าง TinyURL ซึ่งคล้ายกับกระบวนการสร้าง URL แบบดั้งเดิมหากไม่เหมือนกัน คุณควรจำไว้ว่า URL ขนาดเล็กไม่สามารถแทนที่ URL แบบยาวได้

หลักการสำคัญของการสร้าง URL ขนาดเล็กคือที่อยู่เว็บที่ยาวกว่าของคุณจะไม่เปลี่ยนเป็น URL ใหม่ที่สั้นกว่า มันไม่สร้างความแตกต่างที่การจราจรจะไป; หากไปที่เว็บไซต์อื่นก็มีความเสี่ยงด้านความปลอดภัย โดยทั่วไป การหลอกลวง URL ถูกสร้างขึ้นเพื่อฉ้อโกงผู้ใช้

ฉันจะทำให้ลิงก์ง่ายขึ้นได้ไหม

การใช้เว็บไซต์ย่อ URL คุณสามารถย่อ URL ของคุณได้ฟรีหากต้องการ บนอินเทอร์เน็ตมีตัวย่อลิงก์หลายตัว รวมถึง Bitly, TinyURL และ Rebrandly หากคุณต้องการปรับแต่งลิงก์เหล่านี้ คุณต้องมีบัญชีพรีเมียมในเว็บไซต์เหล่านี้


Nosql ใช้สำหรับอะไร

Nosql ใช้สำหรับจัดเก็บและสืบค้นข้อมูลที่ไม่มีโครงสร้างในฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม

การออกแบบระบบ Tinyurl

ระบบ TinyURL ได้รับการออกแบบให้เรียบง่ายและมีประสิทธิภาพ ระบบใช้ URL แบบยาวและสร้าง URL แบบสั้นที่ไม่ซ้ำกันซึ่งง่ายต่อการจดจำและแบ่งปัน ระบบยังติดตามจำนวนครั้งที่ใช้ TinyURL แต่ละครั้ง เพื่อให้สามารถระบุ URL ยอดนิยม และทำให้เข้าถึงได้มากขึ้น

เราสามารถเปลี่ยนความยาวของ URL ที่ระบบของเราจะสร้าง หรือเราสามารถเริ่มต้นด้วยความยาวแล้วเพิ่มต่อไปจนกว่าจะถึงความยาวที่เราต้องการ URL ที่มีอักขระไม่กี่ร้อยตัวเพียงพอสำหรับหน้าเว็บไม่กี่ร้อยหน้า แต่ URL ที่ใหญ่กว่านั้นอาจต้องใช้อักขระที่ยาวกว่านั้น เราจะดูสถาปัตยกรรมพื้นฐานที่สามารถใช้เพื่อแก้ปัญหานี้ได้ ฉันจะรับ URL ที่ไม่ซ้ำ ได้อย่างไร สมมติว่าเรากำลังสร้าง 62 อักขระแทน URL เพราะนั่นคือสิ่งที่ทำให้เข้าใจได้ง่ายขึ้น บริการมากกว่าหนึ่งรายการอาจสร้างหมายเลขเดียวกัน ส่งผลให้ URL แบบยาวสองรายการปรากฏในหน้าเดียวกัน คำว่า การปะทะกัน หมายถึงการโต้ตอบทางกายภาพระหว่างคอมพิวเตอร์สองเครื่อง

จะเกิดอะไรขึ้นหากคุณเรียกใช้อินสแตนซ์ Redis หลายรายการพร้อมกัน เราจะสามารถทำงานได้ดีขึ้นและพร้อมใช้งานมากขึ้นจากสิ่งนี้ ด้วยเหตุนี้ จึงจำเป็นอย่างยิ่งที่ บริการ URL แบบสั้น ของเราจะต้องสร้างหมายเลขเฉพาะที่สามารถใช้กับอินสแตนซ์ของบริการใดก็ได้ เพื่อให้แน่ใจว่าแต่ละบริการมีช่วงที่แตกต่างกัน เราจะใช้บริการโทเค็น ซึ่งเป็นวิธีที่ง่ายที่สุดในการนำไปใช้ มีตัวเลขเฉพาะที่เป็นไปได้ประมาณ 3.5 ล้านล้านตัว ซึ่งเป็นจำนวนที่มากกว่าจำนวนเฉพาะไม่กี่พันตัวที่กำลังสูญหายอยู่มาก เราจะต้องทำงานให้หนักขึ้นเพื่อแก้ปัญหาเหล่านี้ เพราะเราจะติดตามตำแหน่งของช่วงเหล่านี้ เราสามารถใช้การวิเคราะห์เพื่อช่วยในกระบวนการตัดสินใจได้ เนื่องจากเราสามารถดึงข้อมูลจำนวนมากที่สามารถใช้ในการตัดสินใจทางธุรกิจในภายหลังได้

เรายังมีการวิเคราะห์ติดตั้งอยู่ในระบบของเราในขณะนี้ หากต้องการใช้การวิเคราะห์ แทนที่จะตอบกลับคำขอทันทีด้วย URL ที่ยาว เราจะบันทึกข้อมูลนี้ไปยังอินสแตนซ์ของ Kafka ก่อน แทนที่จะเขียนถึงคาฟคาตามลำดับ เราสามารถใช้การดำเนินการแบบขนานแบบอะซิงโครนัสเพื่อทำเช่นนั้นได้