HOSE quá tải

Chuyện sàn giao dịch chứng khoán TP.HCM (HOSE) quá tải chắc ai cũng biết rồi. Phần mềm HOSE đang sử dụng do Thái Lan tài trợ từ những ngày đầu lập sàn ở thế kỷ trước, không dễ gì sửa chữa, nâng cấp.

FPT nói rằng họ có thể xử lý sự cố bằng cách xây dựng một hệ thống xài tạm, 3 tháng hoàn thành, trong lúc chờ HOSE chuyển đổi sang phần mềm KRX của Đại Hàn. Tôi thấy đây là một đề xuất táo bạo nhưng cũng đầy rủi ro.

Thứ nhất, giữa lúc dầu sôi lửa bỏng thế này mà các công ty chứng khoán phải thử nghiệm với cả hệ thống tạm của FPT và hệ thống lâu dài KRX. Tập trung vào một hệ thống còn chưa biết có làm được hay không, không biết thời gian và nhân lực đâu làm cả hai?

Thứ hai, có gì đảm bảo giải pháp của FPT sẽ xử lý được lượng tải lớn? FPT có thể có kinh nghiệm làm phần mềm cho sàn Hà Nội (HNX) nhưng HNX có lượng giao dịch rất nhỏ so với HOSE. Theo thống kê phiên giao dịch ngày 12/03/2021, khối lượng khớp lệnh của HNX là cỡ 95 triệu chứng khoán, tổng giá trị vào khoảng 1600 tỉ đồng. Cùng ngày, khối lượng khớp lệnh của HOSE là 5,6 tỉ chứng khoán, tổng giá trị vào khoảng 13000 tỉ đồng.

Cuối cùng, có gì đảm bảo 3 tháng sẽ xong? Tôi không biết FPT làm sao để ra con số 3 tháng này. Mới đầu ông Trương Gia Bình tuyên bố "2 tháng xong luôn", nhưng giờ đã thành 3-4 tháng và cũng có ý kiến phải cần ít nhất 6 tháng.

Dân làm phần mềm thường lạc quan. Cái gì dễ, biết làm ngay, họ sẽ nói 1 tiếng xong, nhưng kỳ thực có thể kéo dài vài ngày. Cái gì chưa biết làm, họ sẽ nói 3 tháng. Đây là "ám hiệu" để  ngầm nói rằng thật sự tôi không biết dự án sẽ kéo dài bao lâu. Kinh nghiệm 10 năm làm phần mềm ở Google của tôi cho thấy kỳ thực không có cách gì lên kế hoạch chính xác một dự án phần mềm phức tạp như thế này. Mọi con số đều là đoán mò. Mọi thiết kế trên giấy đều sẽ đổ bể khi viết dòng code đầu tiên. Mọi dự án phần mềm đều trễ hẹn và một khi đã trễ thì càng thêm người càng làm dự án trễ hơn.

Tôi không rõ Bộ Tài chính và HOSE đã quyết định như thế nào. Tôi thấy chỉ nên chọn hoặc FPT hoặc KRX, không nên làm cả hai cùng lúc. Nếu đã có kế hoạch sử dụng KRX, phương án khả dĩ nhất là tập trung toàn bộ nguồn lực để đưa hệ thống này online. Trong thời gian chờ đợi thì nên tìm cách tối ưu hệ thống hiện có của Thái Lan và sử dụng các biện pháp hành chính để giảm tải cho sàn.

Dẫu chọn giải pháp gì đi chăng nữa, tôi chúc các anh chị em kỹ sư làm việc trong dự án này nhiều sức khỏe và hi vọng họ sẽ thành công. Thú thật tôi cũng muốn làm. Thông qua bạn bè, tôi cũng đã liên hệ với Bộ Tài chính để hỏi coi có hỗ trợ (miễn phí) được gì không. Tôi không có nhiều thời gian, nhưng đây là một dự án khó, rất thú vị, nhiều ý nghĩa, không kỹ sư nào không muốn nhào vào giải quyết.

Tôi nghĩ ít nhất tôi có thể phản biện, đánh giá độc lập giải pháp mới, hoặc tìm cách tối ưu hệ thống hiện tại. Nếu không có mã nguồn ta có thể tính đến phương án dịch ngược để thay đổi phần mềm ở mức binary. Nếu làm được thì đó sẽ là một cú hack ngoạn mục. Nếu vấn đề quá khó tôi không giải quyết được, tôi có thể tìm các chuyên gia khác ở Silicon Valley. Ở đây không thiếu người Việt Nam có kinh nghiệm trực tiếp xây dựng các hệ thống cực lớn, có khả năng xử lý hàng trăm ngàn đến hàng triệu yêu cầu mỗi giây.

Bộ lịch sự cảm ơn, nói họ đã có phương án giải quyết và cũng đã nhận được sự hỗ trợ từ nhiều chuyên gia hàng đầu thế giới rồi. Tôi nghĩ mọi thứ sẽ sớm ổn thôi, bà con an tâm. Nếu mua chứng khoán không được thì ta chuyển sang mua bitcoin vậy ;-).

Comments

HaDzuong said…
Nghe nói sàn HOSE của Thailand tài trợ năm 2006 này chỉ xử lý tối đa 999.999.999 giao dịch, nên việc nâng cấp là tất yếu, gần 15 năm rồi, công nghệ cũng đã khác.

Việc upgrade lên phiên bản mới đã khó nay lại chọn 1 trong 2 thì càng khó hơn. Sao không đơn giản là mua luôn giải pháp và dịch vụ của 1 nước phát triển mà lại đi làm song song nhỉ?
Duong said…
Anh Thái có thể phác thảo 1 reference design cho sàn HOSE ở mức high level dc ko ạ?
Với yêu cầu hệ thống có khả năng scale (mở rộng theo thời gian khi số lượng giao dịch ngày càng tăng theo thời gian) và xử lý tầm 1 triệu transactions per second ở thời điểm hiện tại.
PS: hiện tại sàn HOSE chỉ có khả năng xử lý vài chục transactions per second theo như em đọc báo, :))
Dạ Vũ said…
Không phải hệ thống này người Việt ko làm được đâu anh. Các hệ thống có năng lực xử lý hàng trăm ngàn yêu cầu mỗi giây ở Việt Nam không thiếu người thiết kế, xây dựng được (VD các hệ thống tính cước viễn thông (BCCS)...). Đứng ở góc độ người làm nghề thì mấy việc này chắc chưa cần tới anh em ở Silicon Valley.
Em nghĩ vấn đề nằm ở chỗ sàn HOSE (với quy mô như vậy) không có phương án xử lý việc này từ sớm hơn, ít gây thiệt hại hơn.
x2pi3141 said…
Để làm suất sắc thì khó còn lấy mã nguồn mở rồi phát triển cho nó chạy thì mấy công ty VN làm ok.
Thai Duong said…
Dạ Vũ: ừ tôi cũng nghĩ ở VN nhiều người làm được. Tôi nghĩ mấy anh chị em làm Zalo dư sức làm cái này.

Duong: tôi không có nhiều kinh nghiệm thiết kế hệ thống stock exchange nên nếu muốn làm cũng phải nghiên cứu, chứ không thể muốn là viết ra được. Thiết kế hệ thống distributed, chịu được tải lớn và có tốc độ xử lý nhanh thì tôi có biết chút đỉnh, nhờ học lóm khi review thiết kế của đồng nghiệp.
Dạ Vũ said…
Bao giờ chán ở bển, anh về VN, làm tư vấn tầm nhìn, chiến lược CNTT cho các doanh nghiệp bự bự (kiểu HOSE).
chắc khối đất diễn :)
Duong said…
Hic, anh chỉ cần trả lời giống kiểu anh được tới phỏng vấn ở Google và dc yêu cầu thiết kế hệ thống stock exchange có vài triệu người dùng,....
Rất muốn học hỏi thêm từ anh.
tonyphong said…
"Dân làm phần mềm thường lạc quan. Cái gì dễ, biết làm ngay, họ sẽ nói 1 tiếng xong, nhưng kỳ thực có thể kéo dài vài ngày. Cái gì chưa biết làm, họ sẽ nói 3 tháng. Đây là "ám hiệu" để ngầm nói rằng thật sự tôi không biết dự án sẽ kéo dài bao lâu. Kinh nghiệm 10 năm làm phần mềm ở Google của tôi cho thấy kỳ thực không có cách gì lên kế hoạch chính xác một dự án phần mềm phức tạp như thế này. Mọi con số đều là đoán mò. Mọi thiết kế trên giấy đều sẽ đổ bể khi viết dòng code đầu tiên. Mọi dự án phần mềm đều trễ hẹn và một khi đã trễ thì càng thêm người càng làm dự án trễ hơn."

Câu này hay quá a, nhất là trong trường hợp hệ thống liên quan đến tiền như HOSE lại càng phức tạp hơn rất nhiều. Thay đổi một dòng code thôi cũng rén chứ đừng nói là làm lại một hệ thống như vậy
RANDOM said…
Mua Bitcoin an toàn hơn chứng khoán ở VN.
Lan Vu said…
Thấy các anh nói về vấn đề này, em xin hỏi anh Thái và các anh một chút về lĩnh vực cũng tương tự như lĩnh vực này đó là forex ạ. Câu hỏi đó là: Khi viết phần mềm thì việc làm cho giá biến động là do hệ thống tự điều chỉnh phụ thuộc vào lượng và giá của nhà đầu tư đặt lệnh, hay là do người điều khiển hệ thống nhập vào ạ? cái thứ 2 nữa là có rất nhiều nền tảng để giao dịch đầu tư như MT4, MT5, Ctrader, vậy làm sao giá của tất cả các nền tảng gần như khớp với nhau, chỉ chênh nhau thời gian điều chỉnh tính ở mức giây. Rất mong các anh giải đáp ạ.
tonyphong said…
"Mua Bitcoin an toàn hơn chứng khoán ở VN"
Câu này của bạn cũng có lý, nhưng nếu nhìn ở một khía cạnh khác, thì thị trường chứng khoán ở VN cũng mới thành lập từ 1998, kinh tế thì mới mở cửa từ vài chục năm ngắn ngủi. Nếu so với Anh hay Mỹ thì thị trường họ cũng vài trăm năm, hành lang pháp lí đầy đủ, vv.
Nên mình thích đưa ra những đóng góp để có thể đưa các lĩnh vưc ở VN có thể áp dụng và thực tế để tiến bộ từng ngày hơn là so sánh khập khiễng.

Về vấn đề nghẽn lệnh vv (với hệ thống phức tạp và liên quan đến tiền thì chuyện này ko khó hiểu), thì quan trọng là HOSE có tư tưởng cải tiến, tham khảo những người như anh thái, và từng bước áp dụng công nghệ để cải thiện hệ thống.

Quang Quý said…
Chắc các bác FPT nghĩ rằng hệ thống của các bác design cái là implement được ngay, và implement (coding) cái là chạy được ngay và chẳng cần thời gian test hay verify gì thì mới ra con số 2 tháng, 3 tháng như vậy anh nhỉ, :)
Thai Duong said…
Quang Quý: tôi nghĩ họ nói 3 tháng để ký được hợp đồng, rồi tính tiếp ;-). Nếu điều khoản hợp đồng không có ràng buộc thời gian thì nói sao cũng được mà, chỉ khổ engineers thôi. Tôi thấy đây là bài test rất tốt cho năng lực làm phần mềm của FPT, nếu là lãnh đạo FPT tôi cũng sẽ tìm mọi cách ký được hợp đồng này, rồi tính tiếp :))
Unknown said…
Tư duy con buôn FPT thì "kỹ được hợp đồng rồi tính tiếp" như dự đoán của Mr Thái Dê En là rất hợp lý. Các phần mềm FPT gia công ra sao không rõ, còn các phần mềm để bán trong nước á, thật là trò đùa. Vd: mấy ông bác sĩ ở bệnh viện nào chọn dùng phần mềm của FPT chỉ muốn... rời bệnh viện.
Khai Tran said…
Anh tưởng hệ thống cần vài trăm nghìn hoặc cả triệu giao dịch một giây mới khó, chứ một ngày thì đơn giản (lưu ý là giao dịch thì cần ACID transactions, phức tạp hơn các web request bình thường của FB, Zalo... nhiều) :D.

Có mấy cái New SQL database có thể thực hiện trăm ngàn đến triệu ACID transactions/ second. Scale app servers thì đơn giản.
Thai Duong said…
Khai Tran: yup, em cũng nghĩ là không khó để handle hệ thống này, cái khó là nghiệp vụ và kết nối với các bên liên quan. Em thử tìm thông tin xem hệ thống cần handle bao nhiêu request per second nhưng không thấy. Em đoán là chỉ tầm 10K QPS.
Khai Tran said…
Yeath, nhiều khi không phải là vấn đề kỹ thuật (you know that :) ).

10K QPS thì có thể, chắc chủ yếu là read query để update share prices, còn TPS cho giao dịch thì chắc thấp hơn nhiều.
Pritine said…
Em thay anh Thai nhieu lan nhac den Blog cua anh Ngo Quang Hung. Hinh nhu Blog do da bi xoa roi dung khong a? Em tim mai van khong thay.