2012-04-19 29 views
5

Tôi đang viết một trang web diễn đàn, nhưng tôi đang gặp sự cố với việc thiết kế cơ sở dữ liệu để giữ các bài đăng ngay bây giờ. Từ những gì tôi đã đọc, phpBB 3 lưu trữ dữ liệu người dùng đã đăng dưới dạng BLOB và một số dữ liệu lưu trữ dưới dạng văn bản. Có một lợi thế mà một trong những sẽ có hơn khác? Điều gì về các ký tự tối đa nếu một để lưu trữ dữ liệu dưới dạng văn bản? Tôi chưa bao giờ lấy dữ liệu BLOB từ cơ sở dữ liệu và phân tích cú pháp nó thành văn bản (hoặc bất kỳ dữ liệu nào có ý nghĩa cho vấn đề đó) nhưng tôi nghĩ việc học cách sử dụng nó sẽ rất thú vị.blob vs văn bản trong diễn đàn

Dữ liệu văn bản cho bài đăng sẽ được mã hóa utf8. Tôi đang sử dụng cơ sở dữ liệu MySQL.

Ngoài ra, bạn cho phép tải hình ảnh lên diễn đàn như thế nào và hình ảnh được lưu trữ như một phần của cơ sở dữ liệu, chẳng hạn như trong BLOB chẳng hạn, nó có nên được lưu trữ dưới dạng tệp riêng lẻ không?

Mọi đề xuất/đề xuất đều được hoan nghênh.

+1

Nếu bạn có mã hóa trong trò chơi, sau đó bạn sử dụng 'văn bản'. Nếu bạn lưu trữ dữ liệu nhị phân, chẳng hạn như nội dung của một tệp vào cơ sở dữ liệu, bạn sử dụng một 'blob'. Không có lý do gì để sử dụng 'blob' cho các bài đăng trên diễn đàn. –

+0

Liên quan: http://stackoverflow.com/questions/572850/store-text-in-blob –

+0

Tôi đã đọc điều đó trước đây, nhưng nó không trả lời được câu hỏi của tôi. Vì vậy, hầu hết các trang web diễn đàn lưu trữ chúng dưới dạng dữ liệu văn bản và sau đó truy xuất chúng từ cơ sở dữ liệu? Đó là những gì tôi đã nghĩ đến nhưng tôi đã trở nên không chắc chắn khi tôi đọc về BLOB và phpBB. – mma1480

Trả lời

9

Văn bản và blob gần như giống nhau, sự khác biệt chính là bạn phải quan tâm đến việc mã hóa chính mình khi sử dụng blob. Mặt khác bạn sẽ bị buộc phải sử dụng mã hóa của một trường văn bản ... file lưu trữ trong cơ sở dữ liệu có một số ưu điểm và Nhược điểm:

Ưu điểm:

  • sao lưu và chuyển sang máy chủ khác là dễ dàng hơn để đạt được
  • Không cần phải thêm một phương pháp khác để truy cập các tập tin bên cạnh cơ sở dữ liệu

Nhược điểm:

  • Tiếp cận một hình ảnh có nghĩa là lấy nó byte và có thể lưu trữ các tập tin địa phương là tạm thời và có thể phức tạp hơn
  • hệ thống tập tin chỉ đơn giản là do nhanh hơn để giảm chi phí

Các decission là của bạn, hầu hết những ý kiến ​​đó Tôi đã nghe nói cho đến nay là để lưu trữ các hình ảnh như các tập tin; nhưng đó là ý kiến, hãy cố gắng đưa ra quyết định của bạn về nhu cầu dự án của bạn.

+0

có chức năng nào trong mã vạch để cho phép người dùng tải lên hình ảnh không? – mma1480

+0

Cá nhân tôi không có kinh nghiệm với người viết mã, vì vậy không thể nói. Có lẽ liên kết này có thể giúp: [link] (http://codeigniter.com/forums/viewthread/111042/) – Argeman