Thứ Hai, 30 tháng 7, 2018

Netflix và Google tung ra công cụ canary mã nguồn mở Kayenta

Một công cụ mã nguồn mở cho việc giám sát triển khai tự động đã được Netflix và Google giới thiệu để giúp các công ty khác hiện đại hóa thực tiễn của họ.

netflix-va-google-ra-mat-cong-cu-ma-nguon-mo-kayenta

Kayenta là một hình thức của công cụ "Canary analysis" nhằm mục đích phát hiện các vấn đề trước khi chúng trở thành một vấn đề nghiêm trọng. Thực tế hấp dẫn: Các thợ mỏ than đã từng có những con canary trong lồng xuống hố vì chúng đặc biệt nhạy cảm với khí nguy hiểm - nếu một con chim hoàng yến chết, các thợ mỏ biết để thoát ra nhanh chóng.

Netflix đầu tiên start phát triển trên Kayenta để sử dụng nội bộ nhưng quyết định muốn phát hành nó cho một lượng khán giả rộng lớn hơn. Phần lớn mã được dành riêng cho Netflix, vì vậy đơn vị đã gia nhập sự giúp đỡ của Google để viết lại các phần của nó và biến nó thành mô-đun. Các đội đã dành khoảng một năm để thực hiện nỗ lực này.

Greg Burrell, Kỹ sư tin cậy cao cấp tại Netflix, cho biết:

"Quan hệ đối tác của chúng tôi với Google trên Kayenta đã mang lại một kiến ​​trúc linh hoạt giúp thực hiện canary analysis tự động trên một loạt các kịch bản open beta như app. , cấu hình và đổi thay dữ liệu.

Đến cuối năm, chúng tôi hy vọng Kayenta sẽ đưa ra hàng nghìn phán đoán canary mỗi ngày. Spinnaker và Kayenta là các tool nhanh, đáng tin cậy và dễ sử dụng giúp giảm thiểu rủi ro triển khai trong khi cho phép vận tốc cao ở quy mô lớn. "

kết cục là một công cụ linh hoạt sẽ giúp các doanh nghiệp thuộc mọi quy mô cải thiện triển khai của họ. Các đơn vị lớn có ngân sách và chuyên môn để xây dựng một giải pháp riêng biệt cho nhu cầu của họ, nhưng điều này vẫn mất rất nhiều thời gian.

Tom Feiner, Kỹ sư vận hành hệ thống tại Waze, nhận xét:

“Canary Analysis cùng với các đường ống open beta Spinnaker cho phép chúng tôi tự động xác định các open beta xấu. Với hơn 1000 đường ống chạy trong sản xuất, bất kỳ hình thức can thiệp nào của con người như là 1 phần của analytic canary có thể là một cản trở lớn cho các nỗ lực giao hàng liên tục của chúng tôi.

Tự động triển khai canary, như được active bởi Kayenta, đã cho phép nhóm của chúng tôi tăng tốc độ tiến triển bằng cách phát hiện các dị thường nhanh hơn. Ngoài ra, là open soure, tiêu chuẩn hóa Kayenta sẽ giúp giảm nguy cơ bị khóa nhà cung cấp. ”

>> Học kiểm thử phần mềm thủ công

>> Học kiểm thử phần mềm tự động

Trong thế giới ngày nay, các đơn vị biết rằng họ cần phải di chuyển nhanh. Khởi động thường hoạt động tốt hơn ở đây vì chúng nhanh nhẹn hơn. Các luyện tập tiến triển phần mềm liên tục phá vỡ các project lớn hơn thành các phần nhỏ hơn để các hướng có thể được biến đổi nhanh hơn nếu cần thiết, nhưng các open beta thường có thể được đổ xô và đối mặt với các vấn đề.

Kayenta, giống như các công cụ phân tích khác, sẽ chạy check để rất nhanh bảo đảm không gặp vấn đề gì khi nâng cấp được triển khai đầy đủ. Hệ thống này là khách quan và miễn dịch đối với bất kỳ lỗi nào của con người và thiên vị tiềm năng liên quan đến việc check canary thủ công.

Sử dụng OTT: Cách đảm bảo chất lượng và làm hài lòng khách hàng

“Over-the-top”, hay OTT, là khái niệm gợi cảm nhất trong giải trí ngay bây giờ. Chúng tôi đang trên đỉnh về sự biến đổi đáng kể trong một thế giới không biến đổi nhiều trong 50 năm qua - và OTT là trung tâm của việc sáp nhập không thể tránh khỏi và không thể ngăn cản giữa thế giới của truyền hình và video kỹ thuật số.



Đối với các Developer app, cũng như các công ty giải trí cung cấp phim và chương trình truyền hình theo yêu cầu, cơ hội OTT là rộng lớn. Các nền tảng như Fire TV không chỉ cho phép phát trực tuyến mà còn mở màn hình mới để thu hút người chơi trong phòng khách của riêng họ thông qua các app có thể tải xuống.

Và không chỉ ở nhà mà khách hàng có thể hưởng lợi từ các ứng dụng OTT. Xu hướng này cũng mở rộng sang các doanh nghiệp bằng cách cho phép họ giao tiếp với nhau với chi phí tối thiểu (hoặc bằng không). Sự phát triển mạnh mẽ của các app OTT như Skype, FaceTime và WhatsApp, đã thay đổi bộ mặt hợp tác kinh doanh, và cơ hội để xây dựng app doanh nghiệp ngày càng đa dạng và đa dạng.

Vậy làm thế nào để các lập trình viên ứng dụng tận dụng cơ hội này? Và làm thế nào họ có thể phát triển cho một nền tảng mới trong khi vẫn cung cấp dịch vụ ở tốc độ và chất lượng người tiêu dùng mong đợi?

[h2]Khắc phục những thách thức của OTT[/h2]


Ngoài sự cường điệu, có rất nhiều thách thức thiết thực khi phát triển cửa hàng ứng dụng của Amazon và phân phối trải nghiệm Amazon Fire TV - và giống như bất kỳ Xu hướng chính nào khác, đó là điều mà các lập trình viên cần phải chuẩn bị.

Thứ nhất, lập trình viên phải phân phối app hoạt động tốt trên màn hình mới. Trong thế giới này, việc thực hành ‘forking’ rất trọng điểm. Trong khái niệm ngắn gọn, forking đề cập đến việc vay mã từ một project được sử dụng để tạo ra một project hoặc biến thể mới. Nền tảng Fire TV của Amazon là phiên bản phân chia của hệ điều hành Android. Các Developer phải tìm hiểu sự khác biệt của ngã ba và khai thác chúng để mang lại trải qua người dùng tuyệt vời.

Trong thực tế, nếu bạn có thể viết cho Android, bạn có thể viết cho Fire TV - nhưng tất nhiên, đây không phải là nơi thử thách kết thúc. Vấn đề cơ bản hơn có lẽ là giúp khách hàng quen với việc tiêu thụ nhiều app khác nhau trên TV của họ. cho dù phát trực tuyến phim và chương trình truyền hình là bản chất thứ hai, các ứng dụng khác, như mua sắm hoặc duyệt Internet, chưa trực quan. Chúng tôi thấy một số 'xung quanh công việc' ở đây - chẳng hạn như chức năng hỗ trợ giọng nói hoặc tiến triển cho các điều khiển từ xa, có thể giúp cải thiện điều hướng và đảm bảo thông qua liền mạch. Thật vậy, để người chơi không chỉ trung thành với các nền tảng mà còn mở rộng cách họ sử dụng chúng, và tiêu thụ các dịch vụ và ứng dụng mới, chất lượng phải là một khẩu hiệu căn bản cho các Developer.

Đối với DevOps, điều quan trọng là phải có cơ sở hạ tầng thích hợp để hỗ trợ một nhóm chịu trách nhiệm phân phối các ứng dụng và dịch vụ có nhu cầu cao về tính sẵn có và độ tin cậy. Như với sự phát triển của bất kỳ app, một hoạt động trơn tru, đội ngũ nhanh nhẹn với trách nhiệm rõ ràng và vai trò là rất trọng điểm. Các hoạt động phát triển nhanh nhẹn sẽ giành chiến thắng trong ngày cho các nền tảng OTT chạy nền tảng mobile.

[h2]Kiểm tra ưu tiên đảm bảo chất lượng[/h2]


Kiểm tra toàn diện là chìa khóa để bảo đảm chất lượng. Tuy nhiên, việc Kiểm tra trình duyệt chéo trên nền tảng máy tính để bàn và mobile đã trở nên khó khăn hơn và một màn hình khác show mức độ phức tạp cao hơn. Như với bất kỳ sự phát triển nào của ilk này, các thử nghiệm mới (thủ công và tự động) cần được phát triển, thực hiện và thích hợp với đường ống tổng thể. Và với các app được phân phối trải qua nền tảng OTT, thử thách chính là thay đổi trực quan được điều khiển bởi yếu tố hình thức - màn hình TV gia đình thay đổi từ 32 inch đến 90 inch và app phải trông liền mạch trên tất cả những điều này.

Thử nghiệm tự động phải được tối ưu hóa cho thế giới thực bằng cách xác định hồ sơ điều kiện khách hàng và bằng cách bật thử nghiệm trên các tình huống phổ biến như điều kiện mạng bị suy thoái, bộ nhớ bị hạn chế và xử lý công bố và cửa sổ bật lên. người dùng của chúng tôi cho chúng tôi biết rằng thử nghiệm điều kiện người chơi với Đường hầm gió và xác thực hình ảnh của chúng tôi bao gồm đo đáp ứng là 1 phần trọng điểm trong việc thử nghiệm môi trường mới như Fire TV. Và tất nhiên, kiểm thử phần mềm hệ điều hành xác định phạm vi Kiểm tra để chạy phần mềm hệ điều hành Android khác nhau.

>> Học kiểm thử phần mềm thủ công

>> Học kiểm thử phần mềm tự động

Vì vậy, với những cách mới để tiếp cận người tiêu dùng và bảo đảm khả năng tiếp cận nhiều hơn cho các ứng dụng, việc phát triển cho các nền tảng OTT như Amazon Fire là không có trí tuệ. Amazon đã thực hiện điều này một cách dễ dàng cho các Developer bằng cách giúp họ tiếp cận người tiêu dùng trên nền tảng mà họ đã biết, trên Android - và các cơ hội được mở rộng.

Nền tảng OTT đang xác định lại cách mà người tiêu dùng có thể tương tác với màn hình TV của họ và các lập trình viên quan trọng đang đi trước đường cong - có thể cung cấp dịch vụ ở tốc độ, đồng thời bảo đảm chất lượng. Chỉ sau đó người tiêu dùng sẽ thực hiện bước tiến lớn để sử dụng các app trên một màn hình khác và các nhà phát triển sẽ có thể tận dụng toàn bộ cơ hội mới này

Thứ Năm, 7 tháng 6, 2018

Java - Đóng gói trong java

Đóng gói là một trong bốn khái niệm OOP cơ bản. Ba loại còn lại là thừa kế, đa hình và trừu tượng hóa.

 

NIIT-ICT

ảnh minh họa : Học lập trình java 

 

 

Việc đóng gói trong Java là một cơ chế bao bọc dữ liệu (các biến) và mã tác động lên dữ liệu (các phương thức) với nhau thành một đơn vị độc nhất vô nhị. Trong đóng gói, các biến của một lớp sẽ được ẩn khỏi các lớp khác, và có thể được truy cập chỉ thông qua các phương thức của lớp hiện tại của chúng. Do đó, nó còn được gọi là ẩn dữ liệu .

 

Để đạt được đóng gói trong Java

 

Khai báo các biến của một lớp là tây riêng.

 

Cung cấp các phương thức setter và getter công cộng để sửa đổi và xem các giá trị biến.

ví dụ

 

Sau đây là một ví dụ minh họa cách để đạt được Encapsulation trong Java

/* File name : EncapTest.java */
public class EncapTest 
   private String name;
   private String idNum;
   private int age;

   public int getAge() 
      return age;
   

   public String getName() 
      return name;
   

   public String getIdNum() 
      return idNum;
   

   public void setAge( int newAge) 
      age = newAge;
   

   public void setName(String newName) 
      name = newName;
   

   public void setIdNum( String newId) 
      idNum = newId;
   

 

Các phương thức public setXXX () và getXXX () là các điểm truy cập của các biến cá thể của lớp EncapTest. thường ngày, những phương pháp này được gọi là getters và setters. Do đó, bất kỳ lớp nào muốn truy cập các biến sẽ truy cập chúng phê chuẩn các getters và setters này.

 

Các biến của lớp EncapTest có thể được truy cập bằng cách dùng chương trình sau:

 

/* File name : RunEncap.java */
public class RunEncap 

   public static void main(String args[]) 
      EncapTest encap = new EncapTest();
      encap.setName("James");
      encap.setAge(20);
      encap.setIdNum("12343ms");

      System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
   

Điều này sẽ tạo ra kết quả sau

Đầu ra

Name : James Age : 20

Lợi ích của đóng gói

 

Các trường của một lớp có thể được thực hiện chỉ đọc hoặc chỉ ghi.

 

Một lớp có thể có toàn quyền kiểm soát những gì được lưu trữ trong các trường của nó.

Thứ Ba, 29 tháng 5, 2018

Oracle cho biết bản cập nhật Java sắp tới

 

Oracle đang làm việc trên một bản cập nhật để giải quyết một lỗ hổng trong phần mềm Java của nó

Công ty cho biết họ sẽ phát hành một bản vá sẽ tu bổ 86 lỗ hổng trong Java 7 vào thứ Ba.

Bộ An ninh Nội địa tuần trước cho biết người dùng máy tính nên vô hiệu hóa chương trình trong trình duyệt web bởi tin tặc đã sử dụng một lỗ hổng zero-day để tấn công các hệ thống máy tính. tội nhân sử dụng lỗ hổng để cài đặt phần mềm độc hại trên máy tính của người dùng truy cập vào trang web bị xâm phạm.

Vấn đề này ảnh hưởng đến bản cập nhật Oracle Java 7 10 trở về trước, có thể cho phép một áp dụng Java không đáng tin leo thang các đặc quyền của nó, mà không cần phải ký mã.

Java, đang chạy trên 850 triệu máy tính, là tiếng nói máy tính cho phép các lập trình viên học lập trình java viết phần mềm chỉ bằng một bộ mã cho các máy tính chạy Windows, Apple OS X và Linux. Các trình duyệt Internet dùng nó để truy cập nội dung web và máy tính và các thiết bị khác dùng nó để chạy rất nhiều chương trình.

Trên thực tiễn, Java rất phổ thông đến nỗi phần mềm đã trở thành một con mắt lớn của các tin tặc. Năm ngoái, Java đã vượt qua Adobe Reader là phần mềm bị tấn công nhiều nhất, theo hãng bảo mật máy tính Kaspersky Lab.

Người dùng Mac có thể không phải lo âu vì Apple đã loại bỏ các trình cắm Java từ trình duyệt OS X. Apple nghe đâu đã học được một bài học năm ngoái khi nó mất thời kì của nó làm cho một bản vá Java có sẵn và kết quả là hơn 600.000 máy Mac đã bị nhiễm phần mềm độc hại.

Tháng 2 năm ngoái, Oracle đã phát hành bản sửa lỗi cho một lỗ hổng được nhắm mục tiêu được xác định là CVE-2012-0507 và đưa nó vào bản cập nhật cho phiên bản Java của Windows. Tuy nhiên, kể từ khi Apple phân phối một phiên bản Java tự biên dịch cho Mac, nó phân phối các bản vá lỗi của Oracle cho nó theo lịch trình riêng của nó, có thể là vài tháng sau bản Java cho Windows.

Mozilla cũng đã đưa vào danh sách đen quơ các bản phát hành hiện tại của Java.

"Lợi thế của phương pháp này là bạn được nhắc mỗi lần trang web muốn khởi chạy một áp dụng Java và bạn có thể đưa ra quyết định sáng láng về việc liệu bạn có đích thực cần applet đó hay không", hãng bảo mật Sophos cho biết

Thứ Năm, 24 tháng 5, 2018

Instagram ra mắt trang đăng ký cho người dùng Android

ảnh minh họa ? học lập trình android

Instagram chỉ cho  iPhone đã được quá lâu, và giám đốc điều hành của nó đã rất muốn về kế hoạch của họ cho các nền móng khác, mà nó có thể được khó để tin rằng công ty sẽ bao giờ phát hành một ứng dụng cho Android. Và không, nó vẫn chưa ban bố ngày ra mắt, nhưng nếu bạn là chủ sở hữu Android muốn có áp dụng, bạn nên truy cập trang này và đăng ký ngay giờ.

Đầu tháng này, khi Alexia Tsotsis của NIIT-ICT Hà Nội đã phỏng vấn người đồng sáng lập Kevin Systrom ở miền Nam Tây Nam, anh ta trêu chọc khán giả bằng cách vẫy tay chào xung quanh áp dụng Android trên sàn diễn. chừng như nó chưa sẵn sàng cho một bản demo đích thực, nhưng ông tuyên bố rằng "theo một số cách, nó tốt hơn so với vận dụng iOS của chúng tôi."

Trong Q & A, Systrom cũng cho biết áp dụng đã có hơn 27 triệu người dùng đã đăng ký. Nói cách khác, Instagram đang phát triển một clip rồ dại trên iPhone một mình, cảm ơn bạn rất nhiều.

Trang đăng ký Android mới có tức thị không thêm thông tin. Nó chỉ hỏi, "Bạn muốn là người đầu tiên xếp hàng cho Instagram trên Android?" Và cho phép người dùng nhập địa chỉ email của họ. Tuy nhiên, đó là một dấu hiệu cho thấy công ty muốn bắt đầu xây dựng sự phấn khích Android. Và nếu bạn đăng ký, có thể bạn sẽ nghe về ứng dụng trước khi thực hành.

Thứ Ba, 15 tháng 5, 2018

SQL trở lại quyết đấu NoSQL và tương lai của dữ liệu

SQL đã trở lại sau nhiều năm bị bỏ mặc. Thế quái nào? Và ảnh hưởng của việc này đến cộng đồng data?

Từ những ngày đầu của kỷ nguyên máy tính, chúng ta đã từng thu thập một lượng dữ liệu ngày một lớn, liên tục đòi hỏi nhiều hơn về năng lực của công nghệ xử lý, phân tích và lưu trữ dữ liệu.
Trong thập kỷ qua, căn do này khiến cho các developer bỏ qua SQL để hướng tới một thứ có các đặc tính có thể mở rộng được là NoSQL: MapReduce và Bigtable, Cassandra, MongoDB…

Tuy nhiên, SQL đang dần trở lại. quơ các nhà cung cấp dịch vụ cloud lớn hiện nay đều offer database dạng này như Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL (Azure chỉ vừa mới launch trong năm nay). Theo cách riêng của Amazon, Aurora database (compatible với MySQL-PostgreSQL) trở thành dịch vụ có tốc độ tăng trưởng nhanh nhất lịch sử AWS.
SQL interface bên trên lớp Hadoop/Spark đấu phát triển. Và chỉ mới tháng trước, Kafka đã tương trợ SQL.

Trong bài viết này, chúng tôi sẽ kiểm tra tại sao tình thế lại xoay chuyển trở lại với SQL, và ý nghĩa của việc này đối với giới data engineering và analysis
Phần 1: Một niềm hy vọng mới


Để hiểu vì sao SQL trở lại, hãy bắt đầu ở khởi điểm với lý do tại sao nó được thiết kế
Câu chuyện bắt đầu tại IBM Research trong thời kỳ đầu của thập niên 70, nơi mà cơ sở dữ liệu quan hệ ra đời. Vào thời điểm đó, tiếng nói tầm nã dựa vào logic toán học và ký hiệu. Hai tấn sĩ Donald Chamberlin và Raymond Boyce đã bị ấn tượng bởi mô hình dữ liệu quan hệ, nhưng cũng thấy rằng tiếng nói truy hỏi sẽ là một nút thắt cản ngăn việc áp dụng nó.
Họ đã thiết kế một tiếng nói truy tìm mới (theo cách của họ): “dễ tiếp cận hơn cho người học lập trình web mà không cần được đào tạo chính quy về toán học hoặc lập trình máy tính.”
Trước thời kỳ của Internet và máy tính cá nhân chủ nghĩa, khi mà ngôn ngữ lập trình C được giới thiệu với thế giới, hai nhà khoa học máy tính trẻ nhận ra rằng, “phần lớn sự thành công của ngành công nghiệp máy tính phụ thuộc vào việc phát triển một nhóm người dùng phổ thông khác, ngoài việc đào tạo các chuyên gia máy tính”.

Họ muốn một ngôn ngữ truy nã dễ hiểu như tiếng Anh, và cũng bao gồm hệ quản trị cơ sở dữ liệu và thao tác.
Kết quả là SQL, lần trước tiên được giới thiệu với thế giới vào năm 1974. Trong vài thập kỷ sau đó, SQL đã chứng minh được sự phổ quát rộng rãi. Khi các cơ sở dữ liệu quan hệ như System R, Ingres, DB2, Oracle, SQL Server, PostgreSQL, MySQL (và nhiều hơn nữa) đã tiếp quản ngành công nghiệp phần mềm, SQL đã trở thành tiếng nói ưu việt để tương tác đến cơ sở dữ liệu với cộng đồng đông đảo và hệ sinh thái cạnh tranh.
(Đáng buồn, Raymond Boyce chưa bao giờ có nhịp chứng kiến sự thành công của SQL và chết vì chứng phình mạch não 1 tháng sau khi đưa ra một trong những bài thuyết trình SQL sớm nhất, chỉ 26 tuổi, để lại vợ và con gái).
Trong một thời đoạn, chừng như SQL đã hoàn tất thành công sứ mạng của nó. Nhưng sau đó Internet ra đời.

Phần 2: NoSQL cự

Trong khi Chamberlin và Boyce đang giao hội phát triển SQL, họ không nhận ra là nhóm kỹ sư thứ hai ở California khi ấy đang làm việc cho một dự án khác mà sau đó nó lan rộng và đe doạ sự tồn tại của SQL. Dự án đó là ARPANET, và vào ngày 29 tháng 10 năm 1969, nó đã ra đời.
Nhưng SQL đã thực sự tốt cho đến khi một kỹ sư khác xuất hiện và phát minh ra World Wide Web, vào năm 1989.
Giống như một loại cỏ dại, Internet và Web đã phát triển mạnh mẽ, phá vỡ thế giới của chúng ta bằng nhiều cách, nhưng đối với cộng đồng dữ liệu, nó gây ra một vấn đề nhức đầu: nhiều nguồn tạo ra dữ liệu mới với khối lượng và véc tơ vận tốc tức thời cao hơn trước.
Khi Internet tiếp tục phát triển và phát triển, cộng đồng phần mềm đã phát hiện ra rằng cơ sở dữ liệu quan hệ lúc đó chẳng thể xử lý nổi. Có một sự hỗn loạn, kiểu như hàng triệu database bỗng kêu khóc và bị quá tải.

Sau đó, hai gã đồ sộ mới của Internet đã đột phá và phát triển các hệ thống non-relational phân tán của riêng họ để giúp giải quyết vấn đề này: MapReduce (xuất bản năm 2004) và Bigtable (xuất bản 2006) của Google và Dynamo (xuất bản năm 2007) của Amazon.

Các tài liệu này đã dẫn tới nhiều cơ sở dữ liệu non-relational khác, bao gồm Hadoop (dựa trên MapReduce paper, 2006), Cassandra (lấy cảm hứng từ cả hai bài báo Bigtable và Dynamo, 2008) và MongoDB (2009). vì chưng đây là những hệ thống mới được viết từ đầu, họ cũng tránh SQL, dẫn đến sự gia tăng của phong trào NoSQL.

Thật dễ hiểu vì sao: NoSQL mới và sáng bóng; hẹn về scale và power; nó dường như là con đường nhanh chóng để thành công về kỹ thuật. Nhưng rồi những vấn đề bắt đầu xuất hiện.
Các nhà phát triển sớm nhận ra rằng không có SQL đích thực là khá hạn chế. Mỗi cơ sở dữ liệu NoSQL cung cấp ngôn ngữ truy nã duy nhất của riêng mình, có tức là nhiều ngôn ngữ hơn để học (và dạy cho đồng nghiệp của bạn); gia tăng sự khó khăn trong việc kết nối các cơ sở dữ liệu này với các áp dụng, dẫn đến dính theo hàng tấn code; thiếu hệ sinh thái của bên thứ ba, đòi hỏi các công ty phải phát triển các công cụ vận hành và biểu diễn dữ liệu riêng.
Những ngôn ngữ NoSQL mới cũng không được phát triển đầy đủ. thí dụ, để thêm tính năng JOIN của SQL vào NoSQL rất phức tạp ở tầng application. Sự thiếu JOINs cũng dẫn đến sự không bình thường, dẫn đến sự sụp đổ và toàn vẹn của dữ liệu.
Một số cơ sở dữ liệu NoSQL đã thêm các ngôn ngữ tầm nã “giống SQL”, như CQL của Cassandra. Nhưng điều này thường gây ra vấn đề tệ hơn. dùng một giao diện gần giống với một cái gì đó phổ thông hơn, đích thực ám ảnh về mặt tinh thần: các kỹ sư không biết những gì đã được tương trợ và những gì không được.
Một số trong cộng đồng đã nhận thấy những vấn đề với NoSQL từ sớm (ví dụ, DeWitt và Stonebraker trong năm 2008). Theo thời kì, ngày một có nhiều nhà phát triển phần mềm nhận ra bộ này.

Phần 3: Sự trở lại của SQL

ban sơ bị quyến rũ bởi “lực lượng bóng tối”, cộng đồng phần mềm bắt đầu nhìn thấy ánh sáng và trở lại với SQL.
đầu tiên là các giao diện SQL bên trên Hadoop/Spark, hướng NoSQL thành “Not only SQL”
Sự phát triển của NewSQL: cơ sở dữ liệu mới, có thể mở rộng và tương trợ SQL. H-Store (xuất bản năm 2008) của MIT và các nhà nghiên cứu ở Brown lần đầu tiên thực hiện mở mang các cơ sở dữ liệu OLTP . Google đấu dẫn đầu việc nhân rộng cơ sở dữ liệu có giao diện SQL với bản mỏng trước nhất của họ (xuất bản năm 2012) (những tác giả bao gồm các tác giả gốc MapReduce), tiếp theo là những người tiền phong khác như CockroachDB (2014).
Đồng thời, cộng đồng PostgreSQL bắt đầu hồi sinh, bổ sung các cải tiến quan yếu như kiểu dữ liệu JSON (2012) và một loạt các tính năng mới trong PostgreSQL 10: hỗ trợ tốt hơn cho phân vùng và replication, hỗ trợ tìm kiếm văn bản toàn diện cho JSON và hơn thế nữa (dự định phát hành cuối năm nay). Các công ty khác như CitusDB (2016) và Yours Truly (TimescaleDB, phát hành trong năm nay) đã tìm ra những cách mới để mở mang PostgreSQL cho các data workload chuyên biệt.
Trên thực tiễn, hành trình phát triển TimescaleDB của chúng tôi đề đạt chặt chịa con đường mà ngành công nghiệp đã sang. Các phiên bản nội bộ trước tiên của TimescaleDB bao gồm ngôn ngữ truy tìm SQL-like, gọi là “ioQL.” Vâng, chúng tôi cũng bị cám dỗ bởi mặt tối: việc xây dựng tiếng nói truy hỏi riêng của chúng tôi có cảm nghĩ là sẽ mạnh mẽ. Tưởng như dễ dàng, chúng tôi lại sớm nhận ra rằng chúng ta phải làm nhiều việc hơn: ví dụ, quyết định cú pháp, xây dựng các kết nối khác nhau, giáo dục người dùng … Chúng tôi cũng tìm thấy chính mình liên tục lóng cú pháp hạp với truy hỏi mà chúng tôi đã có thể diễn đạt bằng SQL, cho một ngôn ngữ truy vấn mà chúng tôi đã chính tay viết ra!

Một ngày chúng tôi nhận ra rằng xây dựng ngôn ngữ truy riêng của chúng tôi không có ý nghĩa. Đó chính là chìa khóa dẫn đến bằng lòng SQL. Và đó là một trong những quyết định thiết kế tốt nhất mà chúng tôi đã thực hành. ngay thức thì một thế giới hoàn toàn mới mở ra. hiện tại, mặc dầu TimescaleDB chỉ là một cơ sở dữ liệu 5 tháng tuổi, người dùng có thể dùng trong production và nhận được quơ các điều sạch: công cụ trực giác (Tableau), kết nối với các ORM phổ quát, một loạt các tools và các tùy chọn sao lưu, chỉ dẫn phong phú và đáp syntax trực tuyến, v.v.

Nhưng đừng tin chúng tôi. Hãy thử tìm hiểu về Google
Google rõ ràng là người tiền phong trong lĩnh vực cơ sở dữ liệu và cơ sở hạ tầng trong hơn một thập kỷ nay. Nó khiến chúng tôi chú ý đến những gì họ đang làm.
Xem paper của Google(Spanner), phát hành cách đây chỉ bốn tháng (Spanner: Becoming a SQL System, May 2017), và bạn sẽ thấy rằng nó củng cố các phát hiện của chúng tôi.
ví dụ: Google đã bắt đầu xây dựng trên Bigtable, nhưng sau đó phát hiện ra rằng việc thiếu các vấn đề tạo SQL (nhấn mạnh trong bít tất các trích dẫn dưới đây của chúng tôi):

“dù rằng các hệ thống này cung cấp một số ích của một hệ thống cơ sở dữ liệu, nhưng họ thiếu nhiều tính năng cơ sở dữ liệu truyền thống mà các nhà phát triển ứng dụng thường dựa vào. Một ví dụ quan trọng là một tiếng nói truy vấn mạnh mẽ, có nghĩa là các nhà phát triển phải viết mã phức tạp để xử lý và tổng hợp dữ liệu trong các áp dụng của họ. Do đó, chúng tôi đã quyết định biến Spanner thành một hệ thống SQL đầy đủ tính năng, với việc thực hiện truy vấn được tích hợp chặt chịa với các tính năng kiến trúc khác của Spanner (như tính nhất quán mạnh mẽ và nhân rộng toàn cầu). “

Sau đó trong bài báo họ nối feature các lý do chuyển đổi từ NoSQL sang SQL:

API gốc của Spanner đã cung cấp các NoSQL methods để lục vấn và quét dãy các bảng riêng lẻ và xen kẽ nhau. Trong khi NoSQL methods cung cấp một path đơn giản để khởi chạy Spanner, và tiếp tục hữu dụng trong các kịch bản thu hồi kết quả đơn giản, SQL đã cung cấp giá trị bổ sung đáng kể trong việc thể hiện các mẫu truy cập dữ liệu phức tạp hơn và đẩy xem vào dữ liệu.

Bài báo cũng mô tả cách họ không ngừng nghỉ vận dụng SQL vào Spanner, mở mang ra tuốt tuột phần còn lại của Google, nơi mà nhiều hệ thống bây giờ có chung một phương ngữ SQL:

SQL engine của Spanner san sớt một phương ngữ SQL phổ biến, được gọi là “Standard SQL”, với một số hệ thống khác của Google bao gồm các hệ thống nội bộ như F1 và Dremel (các hệ khác) và các hệ thống bên ngoài như BigQuery …
Đối với người dùng Google, điều này làm giảm rào cản làm việc giữa các hệ thống. Nhà phát triển hoặc nhà phân tách dữ liệu có thể viết SQL trong cơ sở dữ liệu Spanner để transfer sự hiểu biết của họ về ngôn ngữ này sang Dremel mà không quan tâm đến sự khác biệt nhỏ về syntax, xử lý NULL, v.v …

Sự thành công của cách tiếp cận này nói lên bản thân nó. Spanner đã là “suối nguồn chân lý” cho các hệ thống lớn của Google, bao gồm cả AdWords và Google Play, trong khi khách hàng tiềm năng của đám mây quan hoài đến việc dùng SQL.
Xét rằng Google đã giúp đề xướng phong trào NoSQL, thì điều đáng để ý là ngày nay, họ đang nắm bắt SQL .

Điều này có ý nghĩa gì đối với ngày mai của data?

Trong computer networking, có một khái niệm gọi là “narrow waist”.
Ý tưởng này xuất hiện để giải quyết một vấn đề cốt lõi: Trên bất kỳ thiết bị nối mạng nào, hãy tưởng tượng một ngăn xếp, với các lớp phần cứng ở dưới cùng và các lớp phần mềm trên đầu. Có thể tồn tại một loạt các phần cứng mạng; na ná có thể tồn tại một loạt các phần mềm và vận dụng. Cần một cách để đảm bảo rằng bất kể vấn đề về phần cứng, phần mềm vẫn có thể kết nối với mạng; và bất kề vấn đề về phần mềm, phần cứng mạng vẫn biết cách xử lý các đề nghị mạng.
Trong thế giới mạng, vai trò của narrow waist được thực hành bởi Internet Protocol (IP), đóng vai trò như một giao diện chung giữa các giao thức mạng cấp thấp được thiết kế cho mạng cục bộ và các giao thức ứng dụng và giao thức cấp cao hơn. Giao diện chung này đã trở thành ngôn ngữ giữa các máy tính, cho phép các mạng kết nối, thiết bị truyền thông và “mạng lưới các mạng” này phát triển thành Internet phong phú và đa dạng hiện tại.

Chúng tôi tin rằng SQL đã trở nên narrow waist để phân tách dữ liệu.

Chúng ta đang sống trong thời đại mà dữ liệu đang trở nên “nguồn tài nguyên quý giá nhất thế giới” (The Economist, tháng 5 năm 2017). Kết quả là, chúng ta đã chứng kiến ​​sự bùng nổ của các cơ sở dữ liệu chuyên dụng Cambri (OLAP, time-series, document, graph, etc.), các dụng cụ xử lý dữ liệu (Hadoop, Spark, Flink), data buses (Kafka, RabbitMQ). ngày một nhiều ứng dụng cần dựa vào hạ tầng cơ sở dữ liệu này, kể cả là các dụng cụ trực giác hoá dữ liệu của bên thứ ba (Tableau, Grafana, PowerBI, Superset), các web frameworks (Rails, Django) hay các custom-built data-driven applications.
Giống như networking, stack phức tạp với cơ sở hạ tầng ở dưới cùng và các áp dụng bên trên. Thông thường, chúng ta sẽ viết rất nhiều code để làm cho stack hoạt động và chúng cần phải được maintain.

Những gì chúng ta cần là một giao diện chung cho phép các phần của stack này liên lạc với nhau. Một điều gì đó đã được chuẩn hóa trong ngành. Cái gì đó sẽ cho phép chúng ta đàm đạo trong / ngoài các lớp khác nhau với thất thoát tối thiểu.

Đó là sức mạnh của SQL. Giống như IP, SQL là một giao diện chung.

Nhưng SQL thực thụ khác biệt hơn IP. Bởi vì dữ liệu cũng được phân tích bởi con người. Và đúng với mục đích mà người sáng tạo ra SQL gán cho nó thuở ban sơ: SQL có thể đọc được.
SQL hoàn hảo? Không, nhưng đó là ngôn ngữ mà hầu hết chúng ta biết. Và mặc dầu đã có các kỹ sư đang làm việc trên giao diện ngôn ngữ thiên nhiên hơn, những hệ thống này sau đó sẽ kết nối với những gì? Yes, SQL.

cho nên, có một lớp ở trên cùng của stack. Và lớp đó là chúng ta.

SQL đã trở lại

SQL đã trở lại. vì chưng thế giới đang đầy ắp dữ liệu. Nó vây quanh và kết liên mọi người. Lúc đầu, chúng ta dựa vào các cảm quan của con người và hệ tâm thần cảm giác để xử lý nó. Bây giờ phần mềm và các hệ thống phần cứng cũng đủ thông minh, sự phức tạp của các hệ thống lưu trữ, xử lý, phân tách…chúng thu thập dữ liệu ngày một nhiều hơn để hiểu rõ hơn về thế giới của chúng ta.

Thứ Năm, 10 tháng 5, 2018

Android đang chiến thắng

Những con số mới nhất là: Android đứng đầu, tiếp theo là iOS trong một giây thứ hai.

 

Từ này khởi hành từ Gartner, một công ty nghiên cứu hàng đầu về những thứ này. Nhìn chung, trong quý chung cục, Android đã bán chạy hơn các thiết bị iOS gần ba đến một trong khi chiếm 64% thị phần trên toàn thế giới. Samsung là con chó hàng đầu kế toán cho doanh số bán điện thoại 90 triệu.

 

Không còn phủ nhận sự thống trị của Android nữa. Không có cách nào ngay cả những fanboy táo bạo nhất của Apple có thể phủ nhận rằng iOS đang ở vị trí thứ hai. Android đang thắng lợi.

 

mỏng này của Gartner nhìn vào doanh số bán hàng điện thoại thông minh quý II. Điều đó kéo dài phạm vi ngày từ tháng Tư đến tháng Sáu, mà được nhấn là một điểm cao cho Android trong khi doanh số bán iPhone đã bắt đầu hạ nhiệt. Samsung Galaxy S III ra mắt vào cuối tháng 5, có khả năng chiếm một phần đông của dòng sản phẩm của Samsung. Đó là một phần tư ráo cho Android và Samsung.

 

ít Q1 của Gartner cũng ghi nhận thứ hạng rưa rứa với Samsung và Android ở trên cùng. Vào thời khắc đó, Samsung vừa vượt qua Nokia là nhà bán thiết bị di động hàng đầu trên toàn thế giới. Android đã lửng lơ trong khoảng giữa năm mươi phần trăm trong chiếc bánh san sớt thị phần, và Apple đã có iPhone thứ hai tốt nhất của mình bao giờ hết với 33 triệu chiếc được bán ra (Apple đã bán 37M trong quý trước). Nhưng hiện giờ chúng tôi có một hình ảnh rõ ràng hơn và Android được định vị an toàn ở đầu ngọn núi di động.

 

Theo vắng của Gartner cho thấy, doanh số bán iPhone đã giảm một tí trong quý II. Họ có nhẽ còn bợt hơn giờ. Giám đốc điều hành Apple Tim Cook đã lưu ý trong bẩm tài chính rút cục rằng doanh số bán iPhone đang trở thành nạn nhân của nhà máy tin đồn iPhone 5. Người tiêu dùng chỉ đơn giản là (và khôn ngoan) không mua iPhone nhiều ngay bây chừ khi nó rõ ràng một cái mới là ngay gần góc. Trên thực tế, thị phần của iOS chỉ được cải thiện theo từng năm.

 

Trong quý iPhone tốt nhất của Apple, quý 1 năm 2012, công ty đã chuyển 33 triệu chiếc iPhone - một thành tích ấn tượng khi chỉ có ba mẫu. bây chừ, trong quý tốt nhất của Android, đã có 98 triệu đơn vị được bán. Đơn giản là không so sánh. Không có cách nào để quay những con số này. IPhone 5 có thể sẽ làm sáng lên kỳ nghỉ lễ của Apple, nhưng Samsung, Motorola, LG và HTC kết hợp số đơn vị Android sẽ chiếm nhiều đơn vị hơn. Trong thực tế, Samsung một mình có thể chuyển di các đơn vị hơn Apple.

 

Cuộc chiến này đang bắt đầu nóng lên. Nó không chỉ là một cuộc chiến giữa các fanboys. Các nhà phát triển không thể bỏ qua Android. Câu thần chú cũ phát hành trên iOS và sau đó cuối cùng nhấn Android cần phải được nghĩ suy lại. Google cũng cần phải đẩy mạnh trò chơi của mình. Google Play là một mớ hỗn độn và Android có một vấn đề rất lớn với vi phạm bản quyền. Android hệ sinh thái vẫn còn hút, nhưng Android nền tảng di động đang thắng lợi.

Thứ Ba, 8 tháng 5, 2018

Rainforest QA thu về $ 25 triệu Series B để mở rộng thử nghiệm phần mềm theo yêu cầu

Rainforest QA, một dịch vụ phần mềm QA theo đề nghị, đã công bố khoản đầu tư Series B trị giá 25 triệu đô la ngày hôm nay.

Silicon Valley Bank, các đối tác liên doanh Bessemer, Sutter Hill Capital, Rincon Ventures và Initialized Capital đều dự vào vòng thi. Khoản đầu tư của ngày bữa nay đưa tổng số tiền lên tới hơn 42 triệu đô la, theo công ty

phát động, bắt đầu vào lớp Summer Com Yacht 2012, cung cấp QA phần mềm cực kỳ nhanh chóng bằng cách đặt một loạt các cơ quan về vấn đề này, sử dụng các thuật toán để quản lý quá trình. Thay vì có một người QA làm việc trên 100 bài soát, họ có một trăm người rà coi sóc 100 bài rà soát, sau đó vắng lại bất kỳ vấn đề nào họ tìm thấy cho khách hàng

Đối với khách hàng, những người đang làm việc với phát triển nhanh chóng và giao hàng liên tiếp, có một dịch vụ QA có thể cung cấp cách quay vòng nhanh chóng có thể cực kỳ có giá trị.

Công ty có khoảng 600000 người thí nghiệm hoạt động mỗi tháng và khoảng 2000-4000 trực tuyến tại bất kỳ thời điểm nào. Người rà phải sang trọng một thời đoạn huấn luyện. Nếu họ nhận được duyệt đó, họ nhận được một đánh giá và bắt đầu thiết lập một điểm tên tuổi, Giám đốc điều hành Fred Stevens-Smith giải thích.

“Điểm danh tiếng đó là chủ chốt của mọi thứ. Nó xác định công việc mà họ được phân bổ. Người rà soát xếp hạng cao hơn có quyền truy cập vào các công việc trả tiền cao hơn, phức tạp hơn, ”ông nói.

Từ quan điểm của khách hàng, họ kết nối phần mềm của họ với nền tảng QA Rainforest thông qua API. Nhà phát triển có thể báo hiệu khi họ cần thử nghiệm. Nó được chỉ định và tất cả các phản hồi được phân phối phê duyệt nền móng mà không có phí tổn cao liên hệ đến việc duy trì một nhóm thể nghiệm, Daria Mehra, giám đốc kỹ thuật chất lượng tại khách hàng Rainforest Quid giải thích.

“Rainforest QA đang thay thế tự động hóa tùy chỉnh để yêu cầu đội ngũ kỹ sư QA có kỹ năng cao viết nhiều mã. Những gì bạn nhận được là bó mã mà bạn phải duy trì, mã mà ngay cả những kỹ sư giỏi nhất cũng gặp phải vấn đề, ”cô giải thích.

ít QA Rainforest cho phép rà soát màu xanh lá cây nếu mã đã sẵn sàng để sản xuất và rà soát màu đỏ nếu có vấn đề cần được giải quyết trước. Công ty được thành lập vào năm 2012, hiện có 200 khách hàng và họ hy vọng sẽ sử dụng số tiền này để bắt đầu mở mang ý tưởng này, theo Stevens-Smith.

"Chúng tôi đã kết thúc vòng vào cuối tháng 12 năm 2017 và đang dùng nó để xúc tiến bán hàng và tiếp thị và mở rộng hơn nữa nền móng của chúng tôi để các nhóm phát triển có thể bảo đảm trải nghiệm người dùng tốt nhất có thể với tốc độ giao hàng liên tục", ông nói