2009-04-02 61 views
17

Tôi không biết làm thế nào có thẩm quyền này là nhưng tôi thấy điều này:Sqlite được sử dụng để làm gì?

http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations

và nó dường như không tốt để có nhiều kết nối đến sql. Điều này có vẻ không tốt cho web và hầu hết các ứng dụng có nhiều người dùng. Tôi đang có một thời gian khó nghĩ về những gì sqlite sẽ được sử dụng cho khi bạn không cần nhiều kết nối. Mỗi chương trình tôi có thể nghĩ đến nhu cầu người dùng, rất nhiều người trong số họ đôi khi, vì vậy những gì tôi sẽ sử dụng một cơ sở dữ liệu cho rằng không cho phép nhiều kết nối? Tôi nghĩ về nguyên mẫu nhưng tại sao tôi lại sử dụng nó khi tôi chỉ có thể kết nối với một cơ sở dữ liệu lớn hơn? Ứng dụng nhúng có thể?

Cảm ơn bạn.

EDIT: Cảm ơn mọi người. Tôi nhìn vào trang khuyến cáo dưới đây nhưng một nhầm lẫn về điều gì đó:

Under appropriate uses for sqlite it has:

tình huống mà SQLite trình Vâng

• Websites

SQLite thường sẽ làm việc tuyệt vời như cơ sở dữ liệu cho thấp đến trung bình trang web lưu lượng truy cập (có nghĩa là, 99,9% của tất cả các trang web). Số lượng lưu lượng truy cập web mà SQLite có thể xử lý phụ thuộc, tất nhiên, về mức độ mà trang web sử dụng cơ sở dữ liệu của nó. Nói chung, bất kỳ trang web nào nhận được ít hơn 100 nghìn lượt truy cập/ngày sẽ hoạt động tốt với SQLite. Con số 100 nghìn lượt truy cập/ngày là một ước tính thận trọng, không phải là giới hạn trên cứng. SQLite đã được chứng minh là hoạt động với lưu lượng truy cập gấp 10 lần.

tình huống mà RDBMS khác có thể làm việc tốt hơn

• Ứng dụng Client/Server

Nếu bạn có nhiều chương trình khách hàng truy cập vào một cơ sở dữ liệu phổ biến trên mạng, bạn nên xem xét sử dụng một cơ sở dữ liệu client/server thay vì SQLite. SQLite sẽ làm việc trên một hệ thống tập tin mạng, nhưng vì độ trễ liên quan đến hầu hết các hệ thống tập tin mạng, hiệu năng sẽ không tuyệt vời. Ngoài ra, các tập tin khóa logic của nhiều hệ thống tập tin mạng thực hiện chứa các lỗi (trên cả Unix và Windows). Nếu khóa tập tin không hoạt động như nó cần, nó có thể có thể cho hai hoặc nhiều chương trình khách hàng để sửa đổi cùng một phần của cùng một cơ sở dữ liệu cùng một lúc, dẫn đến cơ sở dữ liệu tham nhũng. Bởi vì vấn đề này phát sinh từ các lỗi trong việc triển khai hệ thống tập tin cơ bản, không có gì SQLite có thể làm để ngăn chặn nó.

Nguyên tắc chung là bạn nên tránh sử dụng SQLite trong các tình huống mà cùng một cơ sở dữ liệu sẽ được truy cập đồng thời từ nhiều máy tính qua hệ thống tệp mạng.

Câu hỏi:

Tôi sẽ thể hiện sự thiếu hiểu biết của mình ở đây nhưng sự khác biệt giữa hai điều này là gì?

+0

tại sao tôi nhận được thông tin này nhanh đến vậy? – johnny

Trả lời

28

Tốt cho các tình huống mà bạn không có quyền truy cập vào cơ sở dữ liệu "thực" và vẫn muốn sức mạnh của một db quan hệ. Ví dụ, Firefox lưu trữ một loạt các thông tin về các thiết lập/lịch sử của bạn/etc trong một cơ sở dữ liệu SQLite.Bạn không thể mong đợi tất cả mọi người chạy firefox để có MySQL hoặc postgre được cài đặt trên máy tính của họ.

Nó cũng hoàn toàn có khả năng chạy các trang web có lưu lượng truy cập tương đối thấp, các trang web có dung lượng lớn. Hiệu suất của nó là tổng thể rất tốt, nó nhiều hơn phần lớn các trang web cần cho mức độ lưu lượng truy cập của họ.

7

Nó thường được sử dụng cho các ứng dụng nhúng.

Có thể rất tiện dụng khi sử dụng cơ sở dữ liệu như bộ nhớ khi bạn không có quyền truy cập vào dịch vụ cơ sở dữ liệu. Vì vậy, SQLite được sử dụng vì nó chỉ là một tập tin bạn lưu trữ ở đâu đó.

0

Hai câu trả lời ở trên nói gì. Mở rộng một chút về câu trả lời của Chad Birch, nó gọi đến db SQLite, và thực hiện khá kém đồng bộ() khiến FF3 bị chậm trong Linux.

25

này được trả lời cũng bằng sqlite bản thân: Appropriate use of sqlite

Another way to look at SQLite is this: 
SQLite is not designed to replace Oracle. It is designed to replace fopen(). 
3

iPhone sử dụng nó cho lịch sử cuộc gọi, tin nhắn SMS, danh bạ và các loại khác của dữ liệu. Giống như Ólafur Waage nói, tốt cho các ứng dụng nhúng trên thiết bị di động vì nó nhẹ. Tôi đã sử dụng nó cũng trên các ứng dụng độc lập. Dễ sử dụng và có sẵn trên hầu hết các nền tảng.

3

Suy nghĩ về ứng dụng máy khách hoặc máy tính để bàn đơn giản có thể sử dụng db, chẳng hạn như ví dụ kém, sổ địa chỉ. Thay vì đóng gói một công cụ db lớn như mysql hoặc postgre với phân phối của bạn, sqlite là rất nhẹ và dễ dàng để bao gồm với ứng dụng đã hoàn thành của bạn.

8

Tôi cũng thấy rằng việc sử dụng SQLite là tốt cho việc ứng dụng mẫu thử một cách nhanh chóng mà không cần phải có một máy chủ DB riêng biệt hoặc bogging một môi trường phát triển với một thể hiện của MySQL/Oracle/Dù.

Cũng dễ dàng nhận và di chuyển cơ sở dữ liệu sang một máy khác nếu bạn cần.

2

Điều này FLOSS Weekly podcast episode nói chuyện với tác giả của SQLite và bao gồm trong số những thứ khác đi qua loại điều bạn sẽ sử dụng. Tất cả mọi thứ từ hệ thống tập tin cho điện thoại di động đến các trang web nhỏ.

2

Theo thuật ngữ đơn giản nhất, SQLite là gói phần mềm miền công cộng cung cấp hệ thống quản lý cơ sở dữ liệu quan hệ hoặc RDBMS. Các hệ thống cơ sở dữ liệu quan hệ là được sử dụng để lưu trữ các bản ghi do người dùng định nghĩa trong các bảng lớn. Ngoài việc lưu trữ và quản lý dữ liệu, công cụ cơ sở dữ liệu có thể xử lý các lệnh truy vấn phức tạp kết hợp dữ liệu từ nhiều bảng để tạo báo cáo và tóm tắt dữ liệu. Các sản phẩm RDBMS phổ biến khác bao gồm Cơ sở dữ liệu Oracle, DB2 của IBM và SQL Server của Microsoft trên mặt thương mại , với MySQL và PostgreSQL là các sản phẩm nguồn mở phổ biến. “Lite” trong SQLite không đề cập đến khả năng của nó. Thay vào đó, SQLite có trọng lượng nhẹ là khi nói đến độ phức tạp của thiết lập, phí quản trị và sử dụng tài nguyên.

Đối với thông tin chi tiết và giải pháp về SQLite thăm vào liên kết dưới đây:

http://blog.developeronhire.com/what-is-sqlite-sqlite/

Cảm ơn bạn.

Các vấn đề liên quan