@Duy Luân đó giờ mình không comment, toàn coi chùa. Hnay phải đăng ký login comment một chút.
Mình cảm giác bài viết này hơi bị "xàm". Có gì thì đừng để bụng nhé.
Lý do:
Hiện tại các hệ thống hiện giờ đa phần là micro service. Mỗi 1 service sẽ có 1 databse riêng, khi mà cần xuất thông báo thì phải query rất nhiều service để ra được 1 bản báo cáo hoàn chỉnh. Mà nhiều khi bây giờ sẽ ko còn đánh khóa record dữ liệu.
VD: service user có đăng ký và đăng nhập có userId. Service cart shopping, sẽ có chứa userId. Khi muốn update cart sẽ call service check auth bên service user. Người ko phải dân backend còn lúng cúng đừng nói là dân học kinh tế hay ngành khác
Ngay cả khi record rất lớn, những câu query phức tạp sẽ rất chậm, muốn làm 1 report hoàn chỉnh gần như phải thêm rất nhiều yếu tố khác, như indexing dữ liệu (elastic search ...)
Thường dự án nào cũng sẽ có back office, và trong đó là những project về report đã được làm sẵn, hỗ trợ những team khác tự xử lý về mặt database rồi. Khi nào thiếu trong back office, sẽ làm thêm nhưng thường những dữ liệu đó đã indexing, chỉ có update giao diện của back office thôi
Còn nhiều thức khác nữa.
Mình đánh giá cao là bạn muốn góp ý để cty tiết kiệm resource nhân lực. Nhưng đôi khi tiết kiệm quá thì thành keo kiệt. Mỗi 1 ng` có 1 kiến thức và kỹ năng, kinh nghiệm nhất định dựa trên những gì được học, và thực tế làm được.
Có nhiều engineer bên iOS, android, hay đơn thuần chỉ là html-css. Với họ nhiều khi viết những câu query nhiều điều kiện còn ngốc mỏ. Cũng ko trách, ngay cả client side còn có những cách storage dữ liệu dạng Key-Value vì tính chất ít phức tạp so với backend.
@CrazyDragon88
Report làm sẵn sẽ highlight cho ta thấy đc phần nào đang có vấn đề, còn việc đào sâu tìm hiểu vấn đề đó là gì sẽ cần rất nhiều công sức để tìm hiểu về dữ liệu raw. Việc đấy nếu phân người như bạn thì oke thôi, nhiều cty đang làm, trên excel. Và người report sẽ là người xin dữ liệu. Đương nhiên ko phải xin 1,2 lần, mà hàng chục lần để ra đc một vấn đề để giải quyết. Mất nhiều thời gian, trừ khi người report đc tự mày mò mớ dữ liệu raw ấy mà chả phải xin. Đương nhiên bộ phận report ấy đã có đủ quyền hạn để access vào mọi dữ liệu của cty. Họ ko đc edit dữ liệu, vì đó là việc của bên input, chứ ko phải bên output (Database có đủ phân quyền cho việc này).
@CrazyDragon88
Mình thì thấy micro-service không phải là 1 điểm gây hạn chế cho cách dùng như này. Tại sao lại không xây dựng 1 micro-service chuyên đảm nhận việc nhận data, tổng hợp lại thành 1 hoặc nhiều cục dữ liệu sao cho đội report họ có thể query dễ nhất, nhanh nhất, mà lại không làm ảnh hưởng tới các db chính. Bạn xây cho họ cái nền, bạn đổ xi măng và cát cho họ, họ tự dựng tiếp báo cáo của họ thôi :v Kỹ thuật sẽ rất nhàn khi người dùng sẵn sàng làm việc bận rộn mà đíu cần hỏi tới mình
Cơ bản chỉ cần mấy câu select để lấy số liệu mình cần. Khỏi phải suốt ngày đi nhờ IT xuất số liệu giúp (trong trường hợp được cấp quyền truy cập vào database)
@Duy Luân
Bác là trình độ thượng thừa rồi :v đúng là công cụ dựng sẵn không thể giải quyết 100% nhu cầu như lập trình nhưng so với những người làm business thì tableau cũng đã ngon hơn nhiều so với excel rồi. 😔
tinhte đang phổ cập dần sql rồi lên nosql, big data, ai, ml, dl, cm4.0, quá dữ. đội ngủ trẻ tài năng nhiệt huyết đang chuẩn bị nghênh chiến với toàn vũ trụ đây rồi. chúc mừng tinhte, chúc mừng vn.
Mod @Duy Luân ơi, em xin góp ý ngoài lề bài viết tí ạ, liệu mod có thể chỉnh sửa app tinhte có thêm chức năng lưu bài viết mà người dùng cần quan tâm ở chỗ em khoanh tròn được không ạ? Đôi khi em muốn lưu lại những bài viết mình quan tâm để thỉnh thỏang cần đọc lại mà ko phải chia sẻ lên trang khác. Giống như FB có chức năng lưu đó, rất thuận tiện cho người dùng khi họ thấy bài viết hay kịp lưu đánh dấu lại để tối về nhà đọc lại mà không lo tìm lại vất vả. Mong mod đọc được cmt này của em ạ ^^
@Nhựt Lưu
ngược lại đấy bạn, họ cần dữ liệu rất phức tạp và nhiều, tại sao ko cho họ từ lấy tự xử từ mớ raw data, chẳng phải tiết kiệm time cho cả 2 à haha
thực ra mấy bạn business ko cần học sql gì cho phức tạp đâu, giờ db sql có tích hợp AI đọc suy nghĩ của người dùng rồi, mấy bạn chỉ cần thuộc 1 câu lệnh này là hệ thống tự trả kết quả theo ý muốn nha
"DELETE * FROM [TABLE_NAME]" :p:p:p