Teradata - Hỏi & Đáp
Kính gửi quý độc giả, những Teradata Interview Questions đã được thiết kế đặc biệt để giúp bạn làm quen với bản chất của các câu hỏi mà bạn có thể gặp phải trong cuộc phỏng vấn cho chủ đề Teradata. Theo kinh nghiệm của tôi, những người phỏng vấn giỏi hầu như không định hỏi bất kỳ câu hỏi cụ thể nào trong cuộc phỏng vấn của bạn, thông thường các câu hỏi bắt đầu với một số khái niệm cơ bản về chủ đề và sau đó họ tiếp tục dựa trên thảo luận thêm và những gì bạn trả lời -
Kiến trúc Teradata bao gồm ba thành phần.
Parsing Engine - Parsing Engine nhận truy vấn từ người dùng, phân tích cú pháp nó và chuẩn bị kế hoạch thực thi.
BYNET - BYNET nhận kế hoạch thực thi từ Parsing Engine và gửi đến AMP thích hợp.
AMP- AMP có nhiệm vụ lưu trữ và truy xuất hàng. Nó lưu trữ dữ liệu trong đĩa ảo được liên kết với nó. Ngoài ra, AMP chịu trách nhiệm quản lý khóa, quản lý không gian, sắp xếp và tổng hợp.
FastLoad | MultiLoad |
---|---|
Bảng mục tiêu phải trống | Bảng mục tiêu không được để trống |
Chỉ có thể tải một bảng bằng một tập lệnh duy nhất | Có thể tải / cập nhật tối đa 5 bảng |
Chỉ hỗ trợ câu lệnh CREATE / INSERT | Hỗ trợ tối đa 20 câu lệnh DML trong một tập lệnh duy nhất |
Không hỗ trợ các bảng có RI, SI và Trigger | Hỗ trợ bảng với NUSI |
FastLoad cung cấp khả năng khởi động lại thông qua các trạm kiểm soát. Khi tập lệnh được khởi động lại từ điểm kiểm tra cuối cùng, có thể các hàng tương tự có thể được gửi lại tới AMP. Đó là lý do FastLoad không hỗ trợ các bản sao.
Bảng SET không cho phép các bản ghi trùng lặp trong khi MULTISET cho phép các bản ghi trùng lặp.
Đối với mỗi hàng được chèn, Hệ thống sẽ kiểm tra xem có bất kỳ bản ghi nào có cùng hàm băm hàng không. Nếu bảng có UPI được xác định, thì nó sẽ từ chối bản ghi là trùng lặp. Nếu không, nó sẽ so sánh toàn bộ bản ghi xem có trùng lặp không. Điều này sẽ ảnh hưởng nghiêm trọng đến hiệu suất của hệ thống.
Bạn có thể xác định Chỉ mục chính duy nhất hoặc Chỉ mục phụ duy nhất để tránh kiểm tra hàng trùng lặp.
Các bảng được tạo bằng câu lệnh CREATE TABLE. Bảng có thể được tạo bằng cách sử dụng
Câu lệnh CREATE TABLE với định nghĩa cột.
TẠO BẢNG từ một bảng hiện có.
Câu lệnh CREATE TABLE với câu lệnh SELECT.
Các bản ghi trùng lặp có thể được xác định bằng cách sử dụng câu lệnh DISTINCT hoặc câu lệnh GROUP BY.
SELECT DISTINCT column 1, column 2…
FROM tablename;
OR
SELECT column 1, column 2,…
FROM tablename
GROUP BY column 1, column 2….;
Khóa chính không bắt buộc trong Teradata trong khi Chỉ mục chính là bắt buộc.
Phân phối dữ liệu dựa trên giá trị Chỉ mục chính.
Khóa chính không chấp nhận NULL trong khi Chỉ mục chính chấp nhận giá trị NULL.
Khóa chính là duy nhất trong khi Chỉ mục chính có thể là duy nhất (UPI) hoặc không duy nhất (NUPI).
Khóa chính không thay đổi trong khi Chỉ mục chính thay đổi.
Dữ liệu có thể được truy cập theo 3 cách khác nhau -
- Thông qua chỉ mục chính
- Thông qua chỉ số phụ
- Quét toàn bảng
Nó có thể được xác định bằng cách sử dụng truy vấn SELECT HASHAMP () + 1;
Truy vấn sau đây có thể được sử dụng cho mục đích này.
SELECT HASHMAP(HASHBUCKET(HASHROW(primaryindexvalue))), COUNT(*)
FROM tablename GROUP BY 1;
Teradata hỗ trợ hai chế độ giao dịch.
- Teradata
- ANSI
Chế độ Teradata được thiết lập bằng SET PHIÊN BẢN GIAO DỊCH BTET; Chế độ ANSI được thiết lập bằng cách sử dụng SET SESSION TRANSACTION ANSI;
Các giao dịch có thể được thực hiện bằng cách sử dụng các câu lệnh BT và ET.
Người dùng không thể truy cập trực tiếp các Chỉ mục tham gia. Chỉ có trình tối ưu hóa mới có thể truy cập chúng.
Các bản ghi trùng lặp sẽ bị từ chối tải các bảng đích và sẽ được chèn vào bảng UV.
FALLBACK là một cơ chế bảo vệ được Teradata sử dụng để xử lý các lỗi AMP. Đối với mỗi hàng dữ liệu, một bản sao khác của hàng được lưu trữ trong một AMP khác trong một cụm. Nếu bất kỳ AMP nào bị lỗi, thì các hàng tương ứng sẽ được truy cập bằng cách sử dụng FALLBACK AMP.
FALLBACK có thể được đề cập trong khi tạo bảng bằng câu lệnh CREATE TABLE hoặc sau khi bảng được tạo bằng câu lệnh ALTER TABLE.
Lỗi không gian bộ đệm sẽ xảy ra nếu kết quả trung gian của truy vấn vượt quá mỗi giới hạn không gian bộ đệm AMP được đặt cho người dùng đã gửi truy vấn.
Lệnh SLEEP chỉ định thời gian chờ trước khi Teradata cố gắng thiết lập kết nối.
Lệnh TENACITY chỉ định tổng thời gian chờ để Teradata thiết lập kết nối mới.
Bạn chỉ có thể giữ câu lệnh BEGIN LOADING và END LOADING và gửi tập lệnh FASTLOAD. Tùy chọn khác là bỏ bảng và tạo lại bảng.
Bộ nhớ đệm trong Teradata hoạt động với nguồn và giữ nguyên thứ tự, tức là nó không thay đổi thường xuyên. Bộ nhớ đệm thường được chia sẻ giữa các ứng dụng. Đó là một lợi thế bổ sung của việc sử dụng Teradata.
RAID là một cơ chế bảo vệ để xử lý lỗi đĩa. Nó là viết tắt của Redundant Array of Independent Disks. RAID 1 thường được sử dụng trong Teradata.
Chỉ mục phụ cung cấp đường dẫn thay thế để truy cập dữ liệu. Chúng được sử dụng để tránh Quét toàn bảng. Tuy nhiên, các chỉ mục phụ yêu cầu cấu trúc vật lý bổ sung để duy trì các bảng phụ và cũng yêu cầu I / O bổ sung vì bảng phụ cần được cập nhật cho mỗi hàng.
Có bốn khóa khác nhau trong Teradata - Độc quyền, Ghi, Đọc và Truy cập.
Các khóa có thể được áp dụng ở ba cấp độ khác nhau - Cơ sở dữ liệu, Bảng và Hàng.
Sử dụng tính năng nén nhiều giá trị (MVC), bạn có thể nén tối đa 255 giá trị bao gồm cả NULL.
FastLoad tải dữ liệu trong các khối 64K. Có 2 giai đoạn trong FastLoad.
Trong Giai đoạn 1, nó mang dữ liệu trong các khối 64K và gửi chúng đến các AMP mục tiêu. Sau đó, mỗi AMP sẽ phân phối lại các hàng cho các AMP mục tiêu của chúng.
Trong Giai đoạn 2, các hàng được sắp xếp theo thứ tự băm hàng của chúng và được ghi vào bảng mục tiêu.
Nhập MultiLoad có năm giai đoạn.
Phase 1 - Giai đoạn sơ bộ - Thực hiện các hoạt động thiết lập cơ bản.
Phase 2 - Giai đoạn Giao dịch DML - Xác minh cú pháp của các câu lệnh DML và đưa chúng vào hệ thống Teradata.
Phase 3 - Giai đoạn Thu nhận - Đưa dữ liệu đầu vào vào bảng công việc và khóa bảng.
Phase 4 - Giai đoạn Ứng dụng - Áp dụng tất cả các hoạt động DML.
Phase 5 - Giai đoạn Dọn dẹp - Giải phóng khóa bàn.
MULTILOAD DELETE nhanh hơn vì nó xóa các bản ghi theo khối. DELETE FROM sẽ xóa từng hàng một.
Thủ tục đã lưu trữ trả về một hoặc nhiều giá trị trong khi Macro có thể trả về một hoặc nhiều hàng. Ngoài SQL, thủ tục được lưu trữ có thể chứa các câu lệnh SPL.
Cả FastLoad và MultiLoad đều tải dữ liệu trong các khối 64K trong khi BTEQ sẽ xử lý từng hàng một.
FastExport xuất dữ liệu ở các khối 64K trong khi BTEQ xuất từng hàng một.
Teradata Parallel Transporter (TPT) là tiện ích để tải / xuất dữ liệu. Nó kết hợp tất cả các chức năng của FastLoad, MultiLoad, BTEQ, TPUMP và FastExport.
Các tạp chí thường trực theo dõi dữ liệu trước hoặc sau khi áp dụng các thay đổi. Điều này giúp quay lại hoặc chuyển tiếp bảng đến một trạng thái cụ thể. Các tạp chí thường trực có thể được kích hoạt ở cấp bảng hoặc cấp cơ sở dữ liệu.
Trong Teradata, mỗi AMP được liên kết với một đĩa ảo. Chỉ AMP sở hữu đĩa ảo mới có thể truy cập dữ liệu trong đĩa ảo đó. Đây được gọi là Kiến trúc Không dùng chung.
Nếu truy vấn sử dụng các cột được phân vùng thì nó sẽ dẫn đến việc loại bỏ phân vùng, điều này sẽ cải thiện đáng kể hiệu suất.
Phân vùng loại bỏ các phân vùng khác và chỉ truy cập các phân vùng chứa dữ liệu.
Bạn có thể dễ dàng bỏ các phân vùng cũ và tạo các phân vùng mới.
Đúng. Chỉ mục phụ yêu cầu bảng phụ yêu cầu không gian cố định.
Đúng. Bất cứ khi nào chỉ mục chính được phân vùng được thêm vào, thì mỗi hàng sẽ chiếm thêm 2 hoặc 8 byte cho số phân vùng.
Bạn có thể sử dụng hàm RANK trên cột được chỉ định với thứ tự giảm dần với điều kiện Qualify = 2.
Bạn có thể kiểm tra sơ đồ GIẢI THÍCH của truy vấn để xác định các bước tiêu tốn nhiều không gian cuộn hơn và cố gắng tối ưu hóa truy vấn. Bộ lọc có thể được áp dụng để giảm số lượng bản ghi đang được xử lý hoặc bạn có thể chia truy vấn lớn thành nhiều truy vấn nhỏ hơn.
Khi lệnh EXPLAIN được sử dụng đối với truy vấn, nó chỉ định độ tin cậy của trình tối ưu hóa để truy xuất các bản ghi.
Có ba mức độ tin cậy trong Teradata: Độ tin cậy cao, Độ tin cậy trung bình và Độ tin cậy thấp.
Cả NUSI và Full Table Scan (FTS) sẽ truy cập vào tất cả các AMP nhưng FTS sẽ truy cập vào tất cả các khối bên trong AMP trong khi NUSI sẽ chỉ truy cập các khối nếu bảng con chứa các hàng đủ điều kiện.
Trong chế độ BTEQ, lệnh SKIP có thể được sử dụng để bỏ qua các bản ghi.
BYTEINT. Nó chỉ chiếm một byte và có thể lưu trữ giá trị lên đến +127.
- Thông qua chỉ mục chính duy nhất - 1 AMP
- Thông qua chỉ mục chính không duy nhất - 1 AMP
- Thông qua chỉ mục phụ duy nhất - 2 AMP
- Thông qua chỉ mục phụ không duy nhất - Tất cả AMP
Clique là một cơ chế bảo vệ để xử lý các lỗi Node. Nó là một nhóm các nút. Khi một nút trong clique bị lỗi, thì vprocs (Parsing Engine và AMP) sẽ di chuyển đến các nút khác và tiếp tục thực hiện các thao tác đọc / ghi trên các đĩa ảo của chúng.
Teradata cung cấp các cấp độ cơ chế bảo vệ khác nhau.
Transient Journal - Xử lý Giao dịch thất bại.
Fallback - Để xử lý lỗi AMP.
Cliques - Xử lý lỗi Node.
RAID - Xử lý lỗi Disk.
Hot standby Node - Xử lý lỗi Node mà không ảnh hưởng đến hiệu suất và khởi động lại.
ACTIVITYCOUNT cung cấp số hàng bị ảnh hưởng bởi truy vấn SQL trước đó trong BTEQ. Nếu câu lệnh ACTIVITYCOUNT theo sau câu lệnh chèn, nó sẽ trả về số hàng được chèn. Nếu câu lệnh ACTIVITYCOUNT theo sau câu lệnh select, nó sẽ trả về số hàng được chọn.
Tiếp theo là gì?
Hơn nữa, bạn có thể xem lại các bài tập trước đây mà bạn đã làm với chủ đề này và đảm bảo rằng bạn có thể nói một cách tự tin về chúng. Nếu bạn tươi tắn hơn thì người phỏng vấn không mong đợi bạn sẽ trả lời những câu hỏi rất phức tạp, thay vào đó bạn phải làm cho các khái niệm cơ bản của bạn thật vững chắc.
Thứ hai, nó thực sự không quan trọng lắm nếu bạn không thể trả lời một số câu hỏi nhưng điều quan trọng là bất cứ điều gì bạn trả lời, bạn phải trả lời một cách tự tin. Vì vậy, chỉ cần cảm thấy tự tin trong cuộc phỏng vấn của bạn. Chúng tôi tại tutorialspoint chúc bạn may mắn có được một người phỏng vấn tốt và tất cả những điều tốt nhất cho nỗ lực trong tương lai của bạn. Chúc mừng :-)