Skip to content

PlusMagi's Blog By Pitt Phunsanit

Plus emotional magic to the knowledge of logic.

  • About’s Pitt
Close Button
PlusMagi's Blog By Pitt Phunsanit .NET,Backend,Business Analysis,Cloud Computing,history,SQL Server SQL Server: ยุคต่าง ๆ

SQL Server: ยุคต่าง ๆ

2006-11-012006-11-01| phunsanitphunsanit| 0 Comment | 10:00
Categories:
  • .NET
  • Backend
  • Business Analysis
  • Cloud Computing
  • history
  • SQL Server

การเข้าใจวิวัฒนาการของ SQL Server คือการดูประวัติศาสตร์การจัดการข้อมูลของโลก ตั้งแต่ยุคที่ใช้ร่วมกับ Unix ไปจนถึงยุค Cloud Native บน Azure ในฐานะ System Analyst ที่มีพื้นฐาน Developer การเข้าใจความต่างในแต่ละยุคจะช่วยให้คุณออกแบบ Provider ได้อย่างแม่นยำครับ

เราสามารถแบ่งยุคสมัยของ SQL Server ออกเป็น 4 ยุคหลักตามการเปลี่ยนแปลงของ Architecture และ Engine ดังนี้


ยุคปฐมบท: The Sybase Era

ช่วงปี: 1989 – 1998 ในยุคนี้ SQL Server คือการนำ Codebase จาก Sybase มาพัฒนาต่อเพื่อรันบน OS/2 และ Windows NT

  • สถาปัตยกรรม: ทำงานแบบ Process-based และพึ่งพา System Tables อย่างหนักในการเก็บ Metadata
  • ภาษา T-SQL: ยังไม่เป็นมาตรฐาน ANSI อย่างเต็มตัว การทำ Join ต้องใช้เครื่องหมาย *= และ =* ซึ่งปัจจุบันเลิกใช้ไปแล้ว
  • จุดเด่น/ข้อจำกัด: ไม่มี GUI ที่ซับซ้อน การจัดการส่วนใหญ่ทำผ่าน Command Line หรือเครื่องมือพื้นฐาน และยังไม่มีแนวคิดเรื่อง Data Compression หรือ Encryption
  • ความท้าทายของ Provider: หากคุณเขียน C# เชื่อมต่อยุคนี้ คุณต้องใช้ ODBC Driver และต้อง Query ข้อมูลจาก Table ระบบโดยตรงเท่านั้น

ยุคสร้างอาณาจักร: The Modern Foundations

ช่วงปี: 1998 – 2010 Microsoft ตัดสินใจเขียน Engine ใหม่เกือบทั้งหมดในเวอร์ชัน 7.0 เพื่อสลัดภาพจำจาก Sybase และเข้าสู่ยุค Enterprise เต็มตัว

  • สถาปัตยกรรม: เริ่มใช้ Storage Engine และ Query Optimizer ที่ทรงพลังขึ้น รองรับฐานข้อมูลขนาด Terabyte
  • การเปลี่ยนแปลงสำคัญ:
    • SQL 2000: เปิดตัว XML Support และ User-Defined Functions
    • SQL 2005: คือจุดเปลี่ยนสำคัญที่สุด มีการนำ .NET CLR เข้ามาในฐานข้อมูล, เปลี่ยนมาใช้ Catalog Views , และเริ่มมี NVARCHAR (MAX)
    • SQL 2008/R2: เพิ่ม Compression และฟีเจอร์ Multi-server management
  • ความท้าทายของ Provider: ยุคนี้เริ่มใช้ INFORMATION_SCHEMA ได้อย่างเสถียร การทำ Paging Data มักใช้เทคนิค TOP หรือ ROW_NUMBER ()

ยุคแห่งประสิทธิภาพและ Hybrid: The High-Performance Era

ช่วงปี: 2012 – 2017 เป็นยุคที่ SQL Server เริ่มขยับเข้าใกล้ Cloud และเน้นความเร็วระดับ Extreme

  • สถาปัตยกรรม: รองรับ Columnstore Index (การเก็บข้อมูลแนวตั้ง) สำหรับงาน Data Warehouse และ In-Memory OLTP
  • ฟีเจอร์เด่น:
    • AlwaysOn Availability Groups: ยกระดับการทำ High Availability
    • JSON Support: เริ่มรองรับการเก็บและ Query JSON
    • SQL on Linux: เป็นครั้งแรกที่ SQL Server สามารถรันบน Linux ได้
  • ความท้าทายของ Provider: คุณสามารถใช้มาตรฐาน OFFSET ... FETCH ในการดึงข้อมูลเป็น Batch ได้แล้ว ซึ่งเขียนง่ายและประสิทธิภาพดีกว่าเดิมมาก

ยุคไร้พรมแดน: The Intelligent & Cloud-Native Era

ช่วงปี: 2019 – ปัจจุบัน SQL Server กลายเป็น “Data Platform” ที่ไม่ใช่แค่ที่เก็บ Table แต่รองรับ Big Data และ AI

  • สถาปัตยกรรม: รวมพลังกับ Big Data Clusters และขยายตัวไปเป็น Azure SQL อย่างสมบูรณ์
  • เทคโนโลยีสมัยใหม่:
    • Query Store: ระบบ AI ที่ช่วยวิเคราะห์และจดจำแผนการประมวลผล (Execution Plan) ให้เร็วขึ้นอัตโนมัติ
    • Always Encrypted with Enclaves: เข้ารหัสข้อมูลแม้แต่ใน Memory ของ Server
    • Ledger Table: ใช้เทคโนโลยี Blockchain ภายใน Database เพื่อป้องกันการแก้ไขประวัติข้อมูล
  • ความท้าทายของ Provider: ใน .NET 10 คุณต้องรับมือกับความปลอดภัยระดับสูงสุด และฟีเจอร์ใหม่อย่าง UTF-8 Support

ตารางสรุปเปรียบเทียบสำหรับงานเขียน Provider

ฟีเจอร์ยุค Sybase ยุค Classic ยุค Modern
Metadata SourcesysobjectsINFORMATION_SCHEMAsys.objects
Data PagingSET ROWCOUNTTOP / ROW_NUMBER () OFFSET ... FETCH
Driver (.NET 10) ODBC SqlClient Microsoft.Data.SqlClient
DataType สูงสุดTEXT / IMAGENVARCHAR (MAX) / XMLJSON / Geospatial

อ่านเพิ่มเติม

  • VS Code: แทน Azure Data Studio
  • SQL Server: On linux
  • SQL Server: Convert date

อ่านเพิ่มเติม

  • jQuery: 4.0.0 เกิดใหม่ แต่เหมือนแจ้งตาย
  • Java 16 (2021): Records (คลาสข้อมูลแบบ Immutable ที่ประกาศกระชับ ไม่ต้องเขียน Getter/Setter เอง) และ Pattern Matching สำหรับ instanceof
  • Java 15 (2020): Sealed Classes (การจำกัดสิทธิ์ว่าคลาสใดสามารถสืบทอดได้บ้าง) และ Hidden Classes
  • MacOs: จัดการจอในจอนอกด้วย BetterDisplay
  • Testing: ส่งเมล์ผ่าน command
Tags: api, Architecture, Azure, backend, Batch, business analysis, c#, Catalog, CD, ci, cloud, cloud computing, Columnstore, Command, Compression, data, Developer, Driver, Encryption, Engine, Enterprise, fetch, GUI, High, Index, information_schema, Join, JSON, Legacy, Management, Memory, Metadata, Microsoft, Mode, Modern, Native, ODBC, Offset, Paging, Provider, Query, Right, Server, Set, SQL, Storage, Support, System, T-SQL, Table, Tables, TLS, Unix, UTF-8, Views, WITH, xml, ประสิทธิภาพ, ฟีเจอร์

แนะแนวเรื่อง

PREVIOUS Previous post: SQL: PL/pgSQL, PL/SQL, SQL/PSM ,T-SQL
NEXT Next post: จัดการลำดับงาน Asynchronous, Synchronous

Projects

  • Statement Columns Mapping Helper
  • PlusMagi Blocks
  • PlusMagi Site Search
  • PlusMagi Tags Reindex
  • jQuery Plus Repeater

Recent Posts

  • มือถือไม่เปิดเครื่องเอง เมื่อถึงเวลาปลุก
  • A-10 Thunderbolt II: ตำนานหมูป่าหุ้มเกราะ ผู้ครองน่านฟ้าสนับสนุนภาคพื้นดิน
  • เจาะลึก Lockheed Martin F-35 Lightning II: พลิกโฉมสงครามทางอากาศยุคที่ 5 และการประชันสมรรถนะของ 3 รุ่นย่อย
  • สถิติไร้พ่ายบนขอบอวกาศ: เจาะลึกตำนาน Lockheed SR-71 Blackbird
  • ย้อนรอย Lockheed Martin F-22 Raptor: ราชาแห่งการครองอากาศยุคที่ 5 ที่ไม่มีวันส่งออก

Archives

Categories

  • applied mathematics (302)
    • agriculture (20)
    • Astronomy (27)
    • Botany (93)
    • chemistry (42)
    • Cosmology (4)
    • Environmental Science (22)
    • physics (3)
    • statistics (2)
  • business (2,129)
    • Accounting (136)
    • Business Analysis (912)
    • collaboration (120)
    • Corporate Governance (4)
    • Finance (107)
    • Governance (10)
    • Marketing (67)
    • Operations Management (2)
    • Real Estate (31)
    • risk management (2)
  • computer science (3,067)
    • AI (494)
    • Biology (211)
      • Environment (54)
    • Cloud Computing (1,265)
    • Computer Engineering (29)
    • Data Transformation (208)
    • Data Visualization (66)
    • information retrieval (2)
    • Information Science (37)
    • Information Technology (88)
    • library science (3)
    • Mathematics (47)
    • technology (9)
    • เทคโนโลยี (194)
  • Design (337)
    • UX/UI (53)
  • engineering (1,293)
    • architecture (1,045)
    • Automotive (59)
    • Bioengineering (34)
    • Building Engineering (135)
    • Civil Engineering (94)
    • Electrical Engineering (10)
    • Mechanical Engineering (3)
    • Safety Engineering (3)
    • transportation (3)
    • urban planning (9)
  • Humanities (1,130)
    • Academia (709)
    • Archaeology (28)
    • art (160)
    • Communication (158)
    • Culture (183)
    • Education (4)
    • history (115)
    • Linguistics (20)
    • Literature (101)
    • media studies (3)
    • military history (3)
    • Religion (4)
    • social science (4)
    • Sociology (2)
    • Spirituality (2)
  • Law (314)
  • Life (2,163)
    • Accessibility (32)
    • Cartoon (146)
    • D.I.Y (78)
    • Health (203)
      • Safety (127)
    • Mindset (311)
    • Movies (200)
    • Philosophy (246)
    • Psychology (1,377)
      • Behavioral Science (1,249)
      • Cognitive Science (501)
    • Sci-Fi (93)
    • Tips and Tricks (60)
    • พุทธ (7)
  • management (875)
    • knowledge management (278)
      • Documentation (81)
    • productivity (5)
    • Project Management (16)
    • strategy (4)
  • Network (437)
    • IOT (27)
    • Nginx (27)
  • Operating Systems (613)
    • Linux (206)
    • macOS (151)
      • Homebrew (25)
    • Shell Script (45)
      • Oh My ZSH (5)
    • Windows (98)
      • PowerShell (25)
  • Programming (2,853)
    • .NET (199)
      • .NET Core EF (12)
      • C# (147)
    • API (838)
      • REST (8)
    • Database (705)
      • MariaDB (34)
      • MySql (66)
      • Oracle Database (24)
      • PostgreSQL (21)
      • RDBMS (55)
      • SQL Server (76)
        • T-SQL (26)
    • Programming Language (7)
    • Programming Languages (391)
      • Java (96)
      • PHP (238)
      • Python (13)
      • Rust (31)
    • Software Architecture (9)
    • Software Engineering (84)
    • System Analyst (SA) (66)
    • system architecture (5)
    • system design (7)
    • System Modeling (3)
    • Systems Programming (2)
    • Testing (140)
      • Automated Testing (127)
    • Web (2,566)
      • Apache HTTP Server (58)
      • Backend (2,363)
        • Laravel (54)
        • Spring Boot (15)
      • Frontend (382)
        • Angular (16)
        • CSS (67)
        • JavaScript (194)
        • jQuery (57)
        • Tabulator (24)
        • Tailwind CSS (4)
        • Vue.js (6)
      • WordPress (40)
  • SecDevOps (1,106)
    • automation (496)
    • CI/CD (349)
    • Docker (119)
    • GIT (56)
    • Hardware (84)
    • SVN (6)
    • system (248)
      • System Administration (37)
  • Security (629)
    • Authentication (248)
    • Cryptography (43)
    • Cybersecurity (349)
  • Uncategorized (1)

Sirat WordPress Theme By VWThemes

Scroll Up
Go to mobile version