Kỹ sư phần mềm và DBA [đóng]


7

Sự khác biệt chính giữa Quản trị viên Cơ sở dữ liệu và Kỹ sư phần mềm là gì? Kỹ sư phần mềm nên biết chi tiết về cơ sở dữ liệu cơ bản đến mức độ nào? Đâu là ranh giới giữa hai ngành nghề này?

Câu trả lời:


9

Môn Toán. Tôi muốn để nó ở đó, nhưng tôi biết mà không có lời giải thích, tôi sẽ bị đốt cháy, vì vậy hãy đi.

Theo kinh nghiệm của tôi, toán DBA khác với toán kỹ sư.

Toán DBA liên quan đến tác động đến năng lực mà một triển khai sẽ có. Ví dụ: chúng tôi với tư cách là các DBA kiểm tra việc triển khai một bảng bằng bao nhiêu không gian trên một triệu hàng mà nó sẽ tiêu thụ trên đĩa, những truy vấn tối ưu nào để chạy với nó, lập chiến lược lập chỉ mục, v.v.

Kỹ sư toán học sẽ được ký hiệu Big-O. Một kỹ sư sẽ xem xét các thuật toán và cách tối ưu hóa chúng. Tác động hạ nguồn (kế hoạch năng lực) là mối quan tâm thứ yếu đối với hiệu quả của ứng dụng. Tuy nhiên, nếu năng lực được đưa ra một yêu cầu trả trước, thì nó sẽ có được sự xem xét thích hợp.

Một số người trong chúng tôi đóng cả hai vai trò và do đó chúng tôi đã tạo ra một phân khúc thích hợp là một nhà phát triển ứng dụng dba của công ty.

BTW: làm ơn lấy cái này với một hạt muối vì đó chỉ là ý kiến ​​của tôi.


10

Nó hoàn toàn phụ thuộc vào sự phân chia công việc tại một tổ chức và trách nhiệm của mỗi người. Nhưng chúng chỉ là nhãn hiệu; ai đó có tiêu đề 'kỹ sư phần mềm' tại một công ty có thể là 'lập trình viên / nhà phân tích' tại một công ty khác hoặc thậm chí là 'lập trình viên hệ thống', v.v. Không có ranh giới cứng giữa hai công ty.

Ở nơi tôi làm việc, 'kỹ sư phần mềm' có xu hướng là người thực hiện cả thiết kế và triển khai thực tế và chúng tôi không có ai có tiêu đề 'DBA'; Các tác vụ loại bảo trì thường là DBA sẽ quay trở lại với 'quản trị viên hệ thống' chung, dựa trên hướng dẫn mà 'kỹ sư phần mềm' đã đưa ra cho họ.

Trong những gì cá nhân tôi nghĩ là một trường hợp tốt nhất, bạn sẽ chia thiết kế thành nhiều phần:

  • mô hình dữ liệu
  • yêu cầu về lưu trữ dữ liệu (cấu trúc bản ghi, kích thước của bảng, số lần chèn / xóa / cập nhật mỗi giây, quá trình cần hoàn thành nhanh như thế nào, v.v.)
  • yêu cầu khắc phục thảm họa / tính liên tục của các hoạt động (cần được sao lưu trong vòng (x) giờ, không thể dài hơn cửa sổ bảo trì (y) giờ mỗi (tháng))
  • triển khai lưu trữ (lựa chọn phần mềm cơ sở dữ liệu, lựa chọn bộ lưu trữ vật lý, cách các bảng được trải ra trên bộ lưu trữ, v.v.)
  • thực hiện kế hoạch dự phòng

Và sau đó là các nhiệm vụ loại bảo trì:

  • điều chỉnh cơ sở dữ liệu
  • điều chỉnh các truy vấn
  • gỡ lỗi khi có sự cố
  • giám sát và xác minh các bản sao lưu
  • áp dụng cập nhật phần mềm

Đối với hầu hết những điều này, chúng không phải được thực hiện bởi một DBA; nó có thể được thực hiện bởi một kỹ sư phần mềm hoặc trong trường hợp một số nhiệm vụ bảo trì, một quản trị viên hệ thống.

Nếu bạn có người ở cả hai vai trò, bạn có thể yêu cầu họ hợp tác và thiết kế và điều chỉnh (cái mà họ gọi là xây dựng 'thiết kế xây dựng') hoặc nếu đó là một công việc gấp rút, bạn có thể giao các nhiệm vụ khác nhau giữa hai. Bạn cũng có thể có những người khác tham gia: một 'kiến trúc sư phần mềm', 'kiến trúc sư dữ liệu', một nhà lưu trữ, các lập trình viên khác nhau, quản trị viên hệ thống, quản trị mạng, bảo mật, v.v.


4

"Kỹ sư phần mềm" hoặc "DBA" là các tiêu đề. Thay vì hỏi: tôi sẽ "SE" hoặc "DBA" là ai? Bạn đã bao giờ thấy "chúng ta chỉ cần DBA" chưa? Không :) (trừ một số trường hợp lạ về nhân sự). Bạn có thể thấy: "chúng tôi muốn XX, người biết và có kinh nghiệm về các công nghệ này."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.