TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI Báo cáo: Các vấn đề đại công nghệ thông tin Đề Tài : Database (SQL NoSQL) Sinh viên thực hiện: Trần Duy Phúc MSSV: 17020961 Mở đầu Cơ sơ liệu phần thói quen hàng ngày người người khơng có điện thoại hay máy tính thường xun tiếp xúc với sở liệu rút tiền từ ATM, kiểm tra tài khoản , mua bán online, hầu hết tương tác kỹ thuật số , truy cập tới sở liệu Mỗi ngày có hàng tỷ lượt truy cập website, tìm kiếm google, gửi email, Số lượng tài khoản Facebook vào khoảng tỷ 4, tài khoản google active vào khoảng 800 triệu, (*) Tất cho thấy giây, phút, ngày có nhiều liệu thu thập , xử lý, Do liệu cần tổ chức cách hợp lý để tiện cho việc tiếp nhận xử lý chúng , database ,trong số có loại database phổ biến sql nosql Chúng ta tìm hiểu chúng tài liệu Một số thuật ngữ I.Tổng quan Database “A database is an organized collection of structured information, or data, typically stored electronically in a computer system A database is usually controlled by a database management system (DBMS) Together, the data and the DBMS, along with the applications that are associated with them, are referred to as a database system, often shortened to just database.” Cơ sở liệu tập hợp có tổ chức thơng tin có cấu trúc liệu, thường lưu trữ hệ thống máy tính Cơ sở liệu thường quản lý hệ thống quản lý sở liệu (DBMS) Dữ liệu với DBMS với ứng dụng liên kết với chúng tạo thành hệ thống sở liệu , thường rút gọn thành sở liệu Cấu tạo databse: Feild (Column) Record (Row) II.Tìm hiểu SQL database SQL databse (hay cịn gọi Relation database) sở liệu mà liệu lưu trữ bảng mà bảng liên kết với mối quan hệ (relationships) Mỗi bảng lưu trữ liệu loại đối tượng cụ thể (customers, orders, products, ) Trong SQL database ,các loại liệu cho trường cần xác định trước (text, number, date, ) điều đảm bảo quán đầu nhận thứ mà cần Các bảng SQL databse có mối quan hệ với nhau, có nhiều loại quan hệ, : • • • Một – (one – to – one) Một – nhiều (one – to – many) Nhiều – nhiều (many – to – many) Các mối quan hệ bắt buộc (hoặc khơng bắt buộc) , điều giúp trì tính tồn vẹn sở liệu Ví dụ : Một sản phẩm phải liên kết với nhà sản xuất để tồn database, đưa quy tắc cho phép thêm sản phẩm chúng có nhà sản xuất liên quan , điều giúp giảm thiểu lỗi cho sở liệu triển khai Ngôn ngữ mà sử dụng để thao tác làm việc với sở liệu SQL (Structured query language) SQL cho phép ứng dụng truy cập vào liệu mà người dùng cần Nó truy xuất liệu từ bảng, nhiều bảng , trường, nhiều trường riêng lẻ dựa vào tiêu chí Ví dụ : ứng dụng yêu cầu tên học sinh số điện thoại học sinh đó, ngồi khơng cần thêm liệu khác Ưu điểm SQL database tính quán liệu , thực tập ràng buộc đảm bảo cho sở liệu thực dự định , hệ thống khơng thể làm điều gây lỗi thể khơng xác tình hình liệu Tính chất SQL database : ACID Atomic: all of the work in a transaction completes (commit) or none of it completes Consistent: a transaction transforms the database from one consistent state to another consistent state Isolated: the results of any changes made during a transaction are not visible until the transaction has been committed Durable: the results of a committed transaction survive failures III Tìm hiểu NoSQL database Khi mà Internet ngày phát triển rộng lớn khắp toàn cầu yêu cầu chuyển sang đơn giản thiết kế sẵn sàng mở rộng , điều mà sở liệu quan hệ khó đáp ứng được, NoSQL hình thành Nó quản lý làm việc với liệu khổng lồ big data real-time webapps Điều cho thấy sức mạnh NoSQL NoSQL (NOT ONLY SQL) Những hệ thống NoSQL khơng hiểu ngơn ngữ SQL , chúng sử dụng ngôn ngữ truy vấn riêng khơng có bảng quan hệ non-relation database Tính chất NoSQL database: BASE Basically Available: the system seems to work all the time, some parts of systems remain available on failure Soft state: it does not have to be consistent all the time Eventually Consistent: as the data is written, the latest version is on at least one node The data is then replicated to other nodes within the system Eventually, the same version is on all nodes Nosql data distribution Document stores Column stores Key-value stores Graph data stores Polyglot persistence