- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
tl;rd:
长版:
我刚刚建立/购买了一个家庭服务器:
我将使用服务器主板 INTEL S1200BTL Raid(没钱买 raid Controller )。 http://ark.intel.com/products/53557/Intel-Server-Board-S1200BTL
主板有4个SATA 3GB/s接口(interface)和2个SATA 6GB/s接口(interface)
我还不确定我是否可以在 RAID 10 中设置所有 6 个硬盘,
如果不可能,我认为 4x hdds Raid 10 (MYSQL DB) & 2xhdds Raid 0 for (OS/Mysql Indexes)。
(如果 raid 0 中断,对我来说没问题,我只需要保护数据库)
关于数据库:
它是一个网络爬虫数据库,其中存储域、URL、链接和诸如此类的东西。所以我想我用每个表的主键分区数据库(1-1000000) (1000001-2000000) 等等。
当我在数据库中搜索/插入/选择查询时,我需要扫描 hole 表,因为一些东西可能在 ROW 1 中,而另一些在 ROW 1000000000000 中。
如果我按主键(auto_increment)进行这样的分区,这会使用我所有的 CPU 核心吗?以便它扫描每个并行分区?或者我应该坚持使用一个没有分区的巨大数据库。
数据库将非常大,现在在我的家庭系统上,
Table extract: 25,034,072 Rows
Data 2,058.7 MiB
Index 2,682.8 MiB
Total 4,741.5 MiB
Table Structure:
extract_id bigint(20) unsigned NO PRI NULL auto_increment
url_id bigint(20) NO MUL NULL
extern_link varchar(2083) NO MUL NULL
anchor_text varchar(500) NO NULL
http_status smallint(2) unsigned NO 0
Indexes:
PRIMARY BTREE Yes No extract_id 25034072
link BTREE Yes No url_id
extern_link (400) 25034072
externlink BTREE No No extern_link (400) 1788148
Table urls: 21,889,542 Rows
Data 2,402.3 MiB
Index 3,456.2 MiB
Total 5,858.4 MiB
Table Structure:
url_id bigint(20) NO PRI NULL auto_increment
domain_id bigint(20) NO MUL NULL
url varchar(2083) NO NULL
added date NO NULL
last_crawl date NO NULL
extracted tinyint(2) unsigned NO MUL 0
extern_links smallint(5) unsigned NO 0
crawl_status tinyint(11) unsigned NO 0
status smallint(2) unsigned NO 0
INDEXES:
PRIMARY BTREE Yes No url_id 21889542
domain_id BTREE Yes No domain_id 0
url (330) 21889542
extracted_status BTREE No No extracted 2
status 31
我知道我可以修复 externlink 和链接索引,我只是添加了 externlink 因为我需要查询该字段并且我无法使用链接索引。你看到了吗,我可以在索引上调整什么?我的新系统将有 32 GB,但如果数据库以这种速度增长,我将在几个星期/几个月内使用 90% 的 RAM。
压缩索引有帮助吗? (性能下降如何?)
其他重要的表都在 500MB 以下。
Only the URL Source table is huge: 48.6 GiB
Structure:
url_id BIGINT
pagesource mediumblob data is packed with gzip high compression
Index is only on url_id (unique).
当我提取了我需要的所有内容后,可以从该表中删除数据。
您有使用Hypertables的经验吗? http://hypertable.org/ <= Googles Bigtables。如果我转向 Hypertables,这是否有助于提高性能(提取数据/搜索/插入/选择和数据库大小)。我在页面上阅读,但我仍然有些无能为力。因为你不能直接比较 MYSQL 和 Hypertables。我会尽快试用,必须先阅读文档。
我需要的是适合我的设置的解决方案,因为我没有钱用于任何其他硬件设置。
感谢您的帮助。
1 Câu trả lời
Hypertable 是抓取数据库的绝佳选择。 Hypertable 是一个开源、高性能、可扩展的数据库,仿照 Google 的 Bigtable。 Google 专门为其抓取数据库开发了 Bigtable。我建议阅读 Bigtable paper因为它使用爬网数据库作为运行示例。
关于mysql - 最佳 Mysql 配置(分区)和索引/Hypertable/RAID 配置(大数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369689/
Hiện tại tôi đang xây dựng một hệ thống mạng khá lớn và tôi cần một giải pháp cơ sở dữ liệu SQL mạnh mẽ. Tôi chọn Mysql thay vì Postgres vì một số tác vụ cần phải chỉ đọc (công cụ MyISAM) và một số tác vụ khác cần phải ghi nhiều (InnoDB).
Tôi sử dụng lệnh sau trong mysql. Khi hiển thị dữ liệu dạng bảng, dữ liệu sẽ được định dạng thành một bảng rất sạch với khoảng cách đều nhau và có dấu | làm dấu phân cách cột. SELECT * FROM TABLE_NAME; Khi tôi chạy lệnh từ CLI như sau
Tôi biết câu hỏi này đã được hỏi nhiều lần trước đây và tôi đã trải qua rất nhiều lần khắc phục sự cố nhưng vẫn chưa có cách nào hiệu quả. Có thể có vấn đề gì đó không ổn với thư mục mà MySQL đang cố gắng cài đặt vào (usr/local/mysql). Điều kỳ lạ về lỗi của tôi là tôi
Dưới đây là cấu trúc dữ liệu SQL của tôi, tôi đang thử hai truy vấn như sau: Chọn Wrk_ID, Wrk_LastName, Skill_Desc từ Worker, Skill where
Chúng tôi có một máy chủ mysql cục bộ (không thuộc phạm vi công cộng) và muốn sao chép máy chủ đó sang phiên bản google cloud sql mà chúng tôi có. Câu hỏi của tôi là: 1. Điều này có thể thực hiện được không? 2. Máy chủ cục bộ của chúng tôi chỉ có thể truy cập được trên mạng cục bộ
Tôi có một bảng (test_table) trong đó một số giá trị trường (ví dụ: trường A, B và C) được chèn từ một ứng dụng bên ngoài và có một trường khác (trường D) mà tôi muốn chèn giá trị từ một bảng hiện có (store_table), nhưng
Tôi muốn tạo một phiên bản AWS RDS rồi quản lý người dùng cơ sở dữ liệu bằng Terraform. Vì vậy, trước tiên, tôi đã tạo một phiên bản RDS và sau đó khởi tạo nhà cung cấp mysql bằng cách sử dụng phiên bản RDS đã tạo để sử dụng nó cho người dùng.
Khi người dùng đăng ký trên trang web của tôi, họ sẽ tạo bảng riêng của mình trong một trong các cơ sở dữ liệu của tôi. Bảng này lưu trữ tất cả bài đăng của người dùng. Điều tôi muốn làm là tạo cho họ một người dùng MySql riêng - một người dùng chỉ có quyền đọc, ghi và xóa khỏi bảng của họ. Để tạo ra nó phải
Tôi có một câu hỏi liên quan đến ColdFusion và Mysql. Tôi có hai bảng: PRODUCT và PRODUCT_CAT. Tôi muốn liệt kê các danh mục có chứa một số sản phẩm đặc biệt được đánh dấu bằng :IS_EXTRANET=1. Vì vậy tôi đã viết điều này
Tôi muốn lấy giá trị của cột recipes_id để lấy giá trị của các mục chứa ingredients_id 2, 17 và 26. Giả sử rằng thành phần_id 2 bị thiếu và không có bản ghi nào được lấy ra. Tôi đã thử toán tử IN
Trong Ubuntu tôi thường cài đặt cả hai, nhưng sự khác biệt giữa máy khách và máy chủ MySQL là gì? Ngoài ra, khi một câu lệnh mới đề cập rằng nó yêu cầu MySQL 5.x, thì nó có nghĩa là máy khách, máy chủ hay cả hai. Ví dụ, liên kết này ht
Tôi xem lại cơ sở dữ liệu của mình và nhận thấy rằng tôi có một số khóa chính có kiểu INT. Như vậy vẫn chưa đủ độc đáo nên tôi nghĩ mình sẽ có hướng dẫn. Tôi xuất thân từ nền tảng Microsoft SQL, trong SSMS bạn có thể chọn loại là "uniqeidentifier" và
Tôi có MySQL trên hệ thống của mình và tôi đang cố xác định xem đó là Oracle MySQL hay MySQL. Có sự khác biệt nào giữa Oracle và MySQL không: http://www.oracle.com/us/products/m
Tôi là người bảo trì mới của một ứng dụng chạy trên MySQL. Người bảo trì trước đã rời đi, để lại rất ít tài liệu và không thể liên lạc được. Vấn đề tôi đang gặp phải là phải mất khoảng 10 giây để thực hiện yêu cầu sau: SELECT COUNT(*) FROM `
Tôi có hai cơ sở dữ liệu MySQL nằm trên hai máy khác nhau. Tôi muốn tự động chuyển dữ liệu từ máy chủ này sang máy chủ khác. Giả sử tôi muốn dữ liệu được truyền vào lúc 4:00 sáng hàng ngày. Tôi có thể không? Có chức năng tích hợp nào của MySQL cho phép chúng ta thực hiện việc này không?
Có cách nào để sử dụng jdbc để truy vấn các bảng mysql nằm trong thư mục bên ngoài thư mục gốc mysql không, hay tôi phải di chuyển chúng vào thư mục cơ sở dữ liệu bên trong thư mục gốc mysql? Tôi không tìm thấy thông tin gì khi tìm kiếm trên Google. hầu hết
Tôi có hai bảng trong cơ sở dữ liệu MySQL. Thành viên và ClassNumbers. Cả hai bảng đều có trường năm thanh toán và cả hai đều có trường mã. Tôi muốn cập nhật năm thanh toán trong bảng thành viên bằng giá trị từ bảng mã số trong đó mã trong thành viên giống với ClassNumb
Tình huống: Tôi có 2 máy chủ, một trong số đó hiện đang lưu trữ một trang web WordPress trực tiếp và tôi muốn có thể di chuyển trang web đó sang máy chủ còn lại trong trường hợp máy chủ đầu tiên ngừng hoạt động. Việc chuyển các tập tin nguồn thì dễ; việc chuyển cơ sở dữ liệu mới là điều tôi cần tìm ra cách thực hiện. Hai máy chủ
Phpmyadmin có một chức năng là "sao chép cơ sở dữ liệu tới".. có câu lệnh mysql nào để viết chức năng này không? Tương tự như việc sao chép cơ sở dữ liệu A sang cơ sở dữ liệu B mới. Câu trả lời tốt nhất là trước tiên tạo một cơ sở dữ liệu được sao chép: CREATE DATABASE duplicate
Tôi có một phần mềm quản lý kho sử dụng mySQL làm hệ điều hành phụ trợ. Tôi đã thử nghiệm trên máy tính của tôi và nó hoạt động tốt. Khi tôi cài đặt phần mềm của mình trên máy tính, tôi phải thực hiện các bước sau: Cài đặt máy chủ mySQL Chỉ định tên người dùng là "root
Tôi là một lập trình viên xuất sắc, rất giỏi!