09/10/2018, 23:27

Giải pháp dùng CSDL cho ứng dụng web.

Thật ra cái này cũng là ý định mình chuẩn bị làm mà thôi. Các bạn xem mình trình bày thử có thích hợp ko nhé.

Nếu có cách nào hay hơn thì xin cho ý kiến để mình tham khảo.

Mình là một lập trình viên, chuyên làm các ứng dụng web nhỏ cho các doanh nghiệp.

Công nghệ mình thường sử dụng lập trình web là Asp.Net

Các website mình làm thông thưởng chỉ là trang giới thiệu sản phẩm, tin tức, đặt hàng … và một số chức năng đơn giản khác.

Từ trước tới giờ mình vẫn hay dùng CSDL là SQL Server hoặc Access.

Nhưng có khó khăn như sau:

Thật ra mình đã làm với MS-SQL rất nhiều dự án và khá rành về thằng này nhưng nếu dùng hệ CSDL MS-SQL thì host thuê thường có giá cao nên khách hàng không chịu, và việc đưa dữ liệu lên host mất nhiều thời gian nhất là các host không cho phép dùng Backup – Restore.

Nếu dùng Access làm cơ sở dữ liệu thì mình không thích lắm vì không hiểu sao các ứng dụng mình làm(asp.net với access) thì thường truy xuất rất chậm, chậm hơn nhiều so với MS-SQL(mình đã thử nhiều cách kết nối nhưng vẫn vậy. mặt dù lúc trước mình dùng asp 3.0 với Access thì chạy vẫn rất nhanh)

Mình chưa dùng asp.net làm việc với MySQL, nhưng nghe nói muốn dùng asp.net kết nối với MY-SQL thì phải cài thêm driver gì đó, mình sợ các nhà cung cấp host họ ko cài thì cũng thua.

Và cuối cùng là giải pháp mình đưa ra là dùng XML để làm CSDL cho web. Anh XML này mình cũng đã tìm hiểu và cũng biết cách [thêm – xóa – sửa hay truy xuất] với nó. Nhưng mình cũng ngại là nếu làm một website tin tức chẳn hạn, khi đó tin tức sẽ chứa nhiều bản tin, và text tương đối nhiều thì ko biết anh XML này có đảm đương nổi?, hoặc các sản phẩm có nhiều mối quan hệ cha con, nhiều cấp thì lưu trữ có khó khăn lắm hay không.

Mấy ngày qua mình suy nghĩ nhưng chưa có giải pháp nào cho các ứng dụng sau này. Rất mong ý kiến đóng góp của các bạn.

Nếu các bạn nào đã có kinh nghiệm hay gặp trường hợp như mình thì cùng nhau chia sẽ các bạn nhé.
jiSh@n viết 01:33 ngày 10/10/2018
Khó khăn như thế thì chuyển sang PHP-MySQL đi
KCJ-pop viết 01:37 ngày 10/10/2018
Yes, that's right! PHP MySQL thích hợp cho các doanh nghiệp vừa và nhỏ, ứng dụng nhiều, miễn phí và khá tốt. Tội dại gì phải chơi chung với ASP.NET & SQL Server cho mệt mỏi
story_sde viết 01:27 ngày 10/10/2018
góp ý của các bạn mình cũng đã suy nghỉ đến nhưng vấn đề quan trọng là mình đã làm rất nhiều module bằng asp.net và mình cũng rất thích lập trình asp.net(C#).
mong ý kiến khác của các bạn tìm ra giải pháp data cho ứng dụng web với asp.net
biri viết 01:32 ngày 10/10/2018
thật ra dùng XML cũng có thể lưu trữ dữ liệu, nhưng ít ai làm vậy, khi khối lượng dữ liệu càng lớn thì cài file XML này nó truy xuất còn chậm hơn MS SQL Server nữa... XML dùng để chia sẽ dữ liệu cho các ứng dụng khác thì tốt hơn...

cũng như lời khuyên của các bạn ở trên, PHP và MySQL là tốt nhất cho giải pháp của bạn!

còn nếu vẫn thích ASP.NET(C#) thì chịu khó tốn tiền và chịu khó thuyết phục khách hàng thôi, vì giá thành sản phẩm sẽ cao hơn PHP là điều chắc chắn.

p/s: mình thấy ở VN, các doanh nghiệp vừa và nhỏ để đặt làm web bằng PHP, chứ ASP.NET thì rất ít
mr47 viết 01:43 ngày 10/10/2018
Quote Được gửi bởi KCJ-pop View Post
Yes, that's right! PHP MySQL thích hợp cho các doanh nghiệp vừa và nhỏ, ứng dụng nhiều, miễn phí và khá tốt. Tội dại gì phải chơi chung với ASP.NET & SQL Server cho mệt mỏi
Vừa và nhỏ ở đây là tầm cỡ của bạn, không phải là của PHP.
terafunny viết 01:33 ngày 10/10/2018
Chuyển qua Java đi bạn, PHP hay ASP.NET đều là đồ củ chuối
story_sde viết 01:39 ngày 10/10/2018
mình thấy asp.net(C#) cũng khá hay đấy chứ, việc gì dùng java làm web cho phức tạp
KCJ-pop viết 01:32 ngày 10/10/2018
Vừa và nhỏ ở đây là tầm cỡ của bạn, không phải là của PHP.
Em có nói PHP nhỏ đâu, dành cho các doanh nghiệp vừa và nhỏ vì chi phí ko cao như xài ASP.NET với MS SQL
NoZ viết 01:37 ngày 10/10/2018
Nào, cùng bàn vào vấn đề chính của bạn ấy đi.
Khi chúng ta tham gia box này, hãy tôn trọng ý kiến của bạn ấy. Bạn ấy thích dùng ASP.net, không nên đề nghị chuyển các ngôn ngữ lập trình khác. Vấn đề chúng ta cùng xem thử có loại CSDL nào vẹn toàn cho bạn ấy áp dụng không.

1. SQL Server: Giá thuê host cao

Nếu bạn nghĩ giá từ 7 - 20 USD/month là mắc thì cũng không hẵn. (Host 20 USD dung lượng 2G, Băng thông unlimited.)

Tuy nhiên, nếu khách hàng vẫn cho là mắc thì đành chịu. Nhưng nên thuyết phục khách hàng của bạn vì theo thực tế, nếu bạn tìm host hỗ trợ ASP.Net thì bỏ phần SQL Server giá cũng không giảm bao nhiêu. (nếu thuê host, giá chỉ có thể giảm 2 - 5 USD).

Việc các host không hỗ trợ backup và restore từ xa: chính xác, cái này là mệt nhất.

2. Access: Chậm, mệt.

Chính xác. Nhưng bạn kiểm tra lại xem bạn kết nối từ ASP.net tới Access bằng cách nào. Ngoài ra, bạn không nên dùng DataSet để chứa dữ liệu nhận về từ Access. Một vài thủ thuật nho nhỏ có thể giúp bạn cải tiến tốc độ website khi có truy cập cơ sở dữ liệu ví dụ dùng DataReader sẽ cho tốc độ truy cập nhanh hơn nhiều lần so với Dataset đặc biệt khi bạn truy xuất số lượng lớn records.

3. Asp.Net & MySQL: khó cấu hình nếu chỉ thuê hosting

Chính xác.Để MySQL hoạt động tốt với .Net, bạn cần cấu hình hỗ trợ Transaction cho MySQL,cái này phải làm trực tiếp trên server. Tuy nhiên, hiện nay có nhiều công ty hosting hỗ trợ MySQL trên Windows nên chắc chắn họ sẽ config giúp bạn. Khi thuê host cứ hỏi thẳng rằng bạn có thể kết nối từ ASP.net tới MySQL không. Nếu được thì quá khỏe, mọi việc kết nối từ ASP.net đên MySQL giống như đến SQL Server, chỉ cần đổi connection string là ok. (Tham khảo thêm trang www.connectionstrings.com)

4. XML

Nếu bạn dùng XML, ngoài việc file XML càng lớn, truy xuất càng chậm như có bạn đề cập ở trên, còn vài điểm bạn cần quan tâm như sau:

a. Nếu dùng XLM, mọi dữ liệu bạn phải lưu vào file (các file) XML, vậy suy ra bạn cần dung lượng hosting lớn ---> cũng tốn thêm tiền

b. Mỗi khi muốn backup hay restore các file cũng cực kỳ khó và hơn nữa, ngoài việc dùng code, bạn không thể sử dụng bất kỳ phần mềm chuyên dụng nào xử lý các "record" dữ liệu trong file XML --> bất lợi cho công tác quản lý.

c. File XML chỉ là một file trên host, người dùng web khác rất dễ truy cập và down về. Và như vậy, bạn chỉ có thể chứa vào đó những dữ liệu không quan trọng (chẳng hạn tin tức). Còn với những dữ liệu quan trọng? ví dụ thông tin về người dùng? account? tài khoản? Nếu bạn chứa trong file XML thì bạn phải bảo mật thư mục thật kỹ, đòi hỏi nhiều kỹ năng trong việc bảo mật hosting --> phức tạp trong việc bảo mật.

Hì hì, không có gì vẹn toàn hết phải không. Bạn cứ tìm hiểu kỹ và quyết định lựa chọn giải pháp thích hợp. Chúc bạn công việc thuận lợi và nhiều thành công với .Net
Bài liên quan
0