NGÀNH CNTT TUYỂN SINH NHIỀU CHỈ TIÊU NGÀNH CNTT, CNTT VIỆT NHẬT VÀ KHOA HỌC DỮ LIỆU

Sự thật về Google và 2 tỷ dòng code

on .

Để trả lời cho câu hỏi Google lớn đến mức nào? Câu trả lời là 2 tỷ dòng code.

Google là gã khổng lồ tìm kiếm, tuy nhiên không phải ai cũng biết được mức độ to lớn của gã khổng lồ này là đến như thế nào. Có người sẽ lấy thương hiệu, doanh thu hay định giá cổ phiếu ra để chứng minh mức độ to lớn của Google. Nhưng đó chưa phải là tất cả.

Có thể nói Google là một đế quốc phần mềm với hằng hà xa số các dữ liệu lưu trữ và các dòng code. Và để chứng minh mức độ to lớn của Google, chúng ta có thể làm một phép so sánh đơn giản với gã khổng lồ phần mềm Microsoft.

Một sự thật khó tin, nhưng nó lại là sự thật, khi mà nhà quản lý kỹ thuật Rachel Potvin của Google vừa mới tiết lộ rằng: “Các phần mềm để chạy tất cả các dịch vụ của Google như Google Search, Google Mail, Google Maps … được viết từ hơn 2 tỷ dòng code”.

Đó thực sự là một con số khổng lồ nếu như chúng ta so sánh với Windows của Microsoft, hệ điều hành phổ biến nhất trên các thế hệ máy tính chỉ được viết từ 50 triệu dòng code. Cũng có nghĩa là việc xây dựng hệ thống phần mêm và lưu trữ dữ liệu của Google lớn gấp 40 lần so với hệ thống Windows của gã khổng lồ phần mềm Microsoft.

2 tỷ dòng code và tất cả được lưu trữ tại một nơi duy nhất

Đó chưa phải là điều bất ngờ nhất, khi Google phải dùng tới 2 tỷ dòng code để xây dựng và điều hành toàn bộ các ứng dụng internet của mình. Mà điều bất ngờ hơn là 2 tỷ dòng code này được lưu trữ tại một nơi duy nhất, nơi có 25.000 kỹ sư phần mềm của Google đang làm việc.

Đó là một hệ thống rất rất lớn. Rachel cho biết cô không thể chứng minh, nhưng dám khẳng định rằng đây là kho lưu trữ dữ liệu lớn nhất từng được xây dựng và sử dụng trên thế giới. Và chưa kể đến việc xây dựng được hệ thống này, thì riêng việc vận hành nó cũng đã là một công việc vô cùng phức tạp.

Khác với các kho lưu trữ mã nguồn mở như GitHub, 2 tỷ dòng code của Google chỉ dành cho các lập trình viên của công ty sử dụng và chúng chỉ phục vụ một số dự án nhất định chứ không phải hàng triệu dự án như của Github.

Giám đốc hệ thống của GitHub, ông Sam Lambert cho biết: “Việc vận hành các ứng dụng thông qua 2 tỷ dòng code là một thách thức rất lớn đối với các kỹ sư phần mềm. Và với 25.000 kỹ sư thì đây thực sự là một cỗ máy đáng kinh ngạc. Tôi không biết nó được vận hành như thế nào, nhưng thực tế nó đang làm việc rất tốt”.

Vậy gã khổng lồ này hoạt động như thế nào?

Về cơ bản, Google xây dựng riêng cho mình một hệ thống để kiểm soát toàn bộ bộ máy này và nó được gọi là Piper. Nó có khả năng hỗ trợ tối đa cho các kỹ sư của Google khi họ thực hiện bất kỳ một dự án mới nào.

Rachel chia sẻ: “Bất kỳ khi nào bạn bắt đầu một dự án mới, bạn đã có sẵn một kho thư viện phong phú các đoạn code để hỗ trợ. Hay khi thay đổi và cập nhật một vài tính năng mới nào đó, các kỹ sư của Google có thể ngay lập tức thử nghiệm và triển khai trên tất cả các dịch vụ của Google. Vì nó là một hệ thống đồng nhất”.

Có thể bạn nghĩ rằng điều đó thật đơn giản khi mọi thứ đã có sẵn. Nhưng Sam Lambert đã chỉ ra rằng đây là một công việc vô cùng phức tạp. Hệ thống Piper của Google quản lý 85 TB dữ liệu (khoảng 85.000 GB dữ liệu) . Và 25.000 kỹ sư của Google phải thực hiện khoảng 45.000 sự thay đổi trong các dòng code mỗi ngày.

So sánh với hệ điều hành mã nguồn mở Linux với 15 triệu dòng code tương ứng với 40.000 tập tin phần mềm. Các kỹ sư của Google mỗi tuần đã phải sửa đổi 15 triệu dòng code tương ứng với 250.000 tập tin.

Bên cạnh đó, trách nhiệm của hệ thống quản lý Piper là phải đảm bảo các kỹ sư không dẫm lên chân nhau trong việc sửa đổi và xây dựng các đoạn code, giúp sửa lỗi và loại bỏ các đoạn code không sử dụng nữa trong kho dữ liệu một cách dễ dàng.

Và 2 tỷ dòng code cho tất cả mọi người

Google đã tốn rất nhiều công sức trong việc xây dựng một hệ thống dữ liệu và cỗ máy vận hành khổng lồ, tuy nhiên công ty cho biết 2 tỷ dòng code này không chỉ để phục vụ các kỹ sư phần mềm của mình mà có thể chia sẻ với tất cả mọi người.

Không chỉ vậy, Google và cả Facebook đang phát triển một dự án mới, với mục đích tạo ra một hệ thống quản lý toàn bộ mã nguồn mở để bất kỳ ai cũng có thể sử dụng các mã nguồn mở này trên một quy mô lớn. Dự án này có tên gọi là Mercurial.

Rachel cho biết: “Chúng tôi đang xem xét việc mở rộng Mercurial với kích thước tương đương với kho lưu trữ dữ liệu của Google hiện nay”. Đó sẽ là một thư viện mã nguồn mở khổng lồ, cùng với công cụ quản lý hiệu quả nhất để hỗ trợ tất cả mọi người.

Mặc dù không phải công ty nào cũng sử dụng số lượng code đáng kinh ngạc như Google, nhưng điều đó rất có thể sẽ xảy ra trong tương lai. Một thế giới mở, một thế giới kết nối của các lập trình viên đang dần được hình thành.

Tham khảo: wired

Nguồn: http://www.baomoi.com/Su-that-ve-Google-va-2-ty-dong-code/c/17545030.epi