12 điểm bởi xguru 2022-05-12 | 1 bình luận | Chia sẻ qua WhatsApp

"Trong ngành IT, DBA đang dần biến mất sao?" là câu hỏi được đăng trên HN và dưới đây là một số câu trả lời

  • Tôi từng là lập trình viên rồi trở thành DBA, và khi còn là lập trình viên, tôi không nhận được sự hỗ trợ cần thiết từ DBA. Vì vậy giờ tôi muốn trở thành đúng kiểu người mà ngày xưa tôi đã muốn nhận được sự giúp đỡ từ họ..
    → Giờ thì bạn mới hiểu ra vấn đề. Công ty chúng tôi chỉ có đúng 2 DBA, và chúng tôi không thể dành thời gian của mình cho tất cả mọi người được
    → Trở thành DBA là một cuộc chiến bất tận chống lại thứ entropy mà các lập trình viên đang tạo ra
    → Mô hình dữ liệu luôn phải được những người có nhiều kiến thức và kinh nghiệm hơn thẩm định, còn các lập trình viên trẻ đôi khi lại mang tới những ý tưởng điên rồ (kiểu như: đừng dùng FK!).. Cảm giác như những ý tưởng tệ cứ liên tục tuôn ra như stream vậy
    → Khi những ý tưởng tệ này đã được triển khai thật thì rất khó hoàn tác, và chúng có xu hướng mang lại thêm nhiều hỗn loạn hơn: cần Materialized View để tránh mô hình hóa trùng lặp, hoặc những View kỳ quặc để bù cho dữ liệu bị trùng lặp, v.v.
    → Vậy nên câu trả lời là "Có". DBA thực sự rất quan trọng. Tất nhiên điều đó còn tùy công ty có nghiêm túc nhìn nhận vai trò này và để họ tham gia vào quy trình phát triển hay không, nhưng nếu không thì đây sẽ là một công việc cực kỳ căng thẳng

  • Thực tế là ở nhiều công ty, công việc này đang bị thuê ngoài. Nhưng những hệ thống ổn định xử lý dữ liệu kinh doanh quan trọng thì vẫn sẽ luôn cần thiết. Học cách xử lý dữ liệu sẽ tiếp tục là điều quan trọng
    → Hoặc đơn giản là bị đẩy sang cho các lập trình viên..

  • Tôi nghĩ DBA là một vai trò thiết yếu, và sẽ còn ngày càng quan trọng hơn. Nhìn lại 25 năm sự nghiệp IT của mình, các lập trình viên bình thường hầu như không quan tâm và cũng không có nhiều kiến thức về mô hình hóa và quản lý dữ liệu
    → Ở startup nhỏ thì có thể khó tìm thấy, nhưng ở công ty lớn thì DBA là bắt buộc. Trong dự án của tôi có 2-3 người và chúng tôi luôn tìm thêm người.
    → Bạn sẽ ngạc nhiên nếu biết những truy vấn dữ liệu/SQL viết sai, hay mô hình dữ liệu/bảng được thiết kế sai có thể ảnh hưởng hiệu năng gấp nhiều lần thế nào. Tương tự, chỉ cần thêm một chỉ mục cụ thể hoặc thống kê để tuning là cũng có thể giúp ích cho việc thực thi đến mức nào
    → Tất nhiên cũng có một mức quy mô mà ở đó người ta nghĩ rằng thay vì thuê một DBA giỏi thì cứ bổ sung phần cứng tốt hơn vì "phần cứng rẻ"
    → Tôi thường xuyên thấy cả những lập trình viên có kinh nghiệm cũng viết SQL phải đọc buffer tới 10 tỷ dòng chỉ để lấy ra câu trả lời dài 1 dòng (dù đúng là đôi khi điều đó có thể cần thiết, nhưng đa số là không)

  • Nếu bạn có thể mô hình hóa dữ liệu, xây dựng data warehouse, quản lý và bảo trì schema, đồng thời giúp các nhà phân tích viết SQL hiệu quả, thì "bạn sẽ còn được tuyển dụng trong một thời gian rất dài". Nếu chỉ nhìn từ góc độ quản trị hệ thống thì vai trò này có thể biến mất vì các giải pháp SaaS/PaaS

1 bình luận

 
xguru 2022-05-12

Ví dụ được nêu ở giữa làm tôi nhớ đến bài viết Github hoàn toàn không sử dụng Foreign Key (2016)