我們精選了一下網友答案:
···································^^····································
長期以來,中國信息產業“缺芯少魂”,“芯”指芯片,“魂”指操作系統。2018 年,中興事件后,國產芯片一時成為萬眾矚目的焦點,并引發一片網絡熱議。有網友評論,“這次被美國卡住的芯,一萬年也要搞出來”。
殊不知,即使造出來國產芯,還沒搞定國產操作系統。即使弄出國產操作系統,數據庫上依然受制于人。即使有了國產芯、國產操作系統,我們依然沒有解決最大問題——缺乏國產軟件的生態。這個生態聯系緊密,“環環相扣”,底層是芯片、中間是操作系統、數據庫、中間件等,上層是大量的應用和服務。
為了建立一個健康的國產軟件生態,不僅要有國產芯片、國產操作系統和國產數據庫,而且還需要大量第三方應用和服務去適配它們。這樣,國產軟件生態才能“茁壯成長”。
一般來說,國產軟件可以分為三類:基礎軟件、通用軟件和垂直行業應用軟件。其中,基礎軟件包含操作系統、數據庫和中間件,并且它是 IT 行業發展的中流砥柱。但是,在操作系統和數據庫方面,這一直是我們的“軟肋”。
“狹義上的軟件國產化主要指操作系統和中間件的國產化。”DataPipeline CTO 陳肅說。
在其他領域,像手機 App、企業應用軟件和企業服務軟件等雖然也屬于國產化軟件,但是它們過去一直在穩步發展。
近幾年,很多人是從比較火的國產數據庫 / 數據倉庫開始了解軟件國產化的。其中,代表性的國產數據庫有 TiDB、GaussDB 和 SequoiaDB 等。
國內云計算的應用和普及,有望成為國產數據庫發展的重要機遇。比如,國內云廠商針對云環境應用的特點,推出開源數據庫的深度定制化版本和自研的數據庫 / 數據倉庫版本。
眾所周知,在 2019 年全球 OLTP 數據庫權威測試 TPC-C 中,阿里云的 OceanBase 數據庫“一舉奪冠”,不僅打破 Oracle 維持 9 年的世界紀錄,而且讓更多人認識到國產數據庫的發展水平。
據悉,DataPipeline 是一個批流一體數據融合平臺,它主要為企業提供數據采集、API 數據接入、可視化運維管理和元數據管理等功能。其核心功能之一是完成異構數據庫的抽取、轉換、寫入。
陳肅表示,對 DataPipeline 而言,軟件國產化意味著不僅要適配國產數據庫和數據倉庫,而且要適配國產操作系統和硬件環境。DataPipeline 主要基于容器化部署,在國產操作系統、ARM 硬件環境上有時會遇到一些兼容性和性能問題,因此要根據具體環境進行適配和調優。
與之相似,融云則是另一家開展“軟件國產化”的企業,它的工作也是去適配國產操作系統、國產數據庫等。對融云而言,軟件國產化不僅僅是適配,而且要保證在不同的國產操作系統中,它對網絡和數據庫層面的優化同樣生效,并確保性能層面與標準產品性能對齊。
無論是 DataPipeline,還是融云,它們之所以涉足軟件國產化,原因很簡單:客戶有需求。
以 DataPipeline 為例,2016 年,這家公司在客戶側感知到國產化需求的增加,開始根據收到的客戶需求數量進行優先級排序和研發。以市場為導向,如果只有個別用戶有需求,企業可能會當做定制化需求去適配。一旦它變成普遍需求,就需要進行產品化開發,“作為一家創業公司,我們的優勢之一是能快速對市場需求做出響應。”
同樣,在 3 年前,融云開始走上國產化適配的道路。
融云 CTO 楊攀向 InfoQ 記者透露,“我們做國產化,是因為客戶群體中有大量面向企事業單位、政府等機構的服務商。客戶需求最終驅動融云啟動國產化工作。”
對融云和 DataPipeline 而言,它們面臨的第一個問題是確定適配目標。“定目標”,這看上去很簡單,實則不易。
以國產操作系統為例,企業要先確定自己的應用或服務適配哪一個國產操作系統。而根據公開不完全統計,市面上,國產操作系統有十幾個,包括深度 Linux(Deepin)、優麒麟 (UbuntuKylin)、中標麒麟 (NeoKylin)、中興新支點操作系統、銀河麒麟等。
這么多操作系統,確定初期的適配目標非常重要,因為它關乎成敗。
一旦確定開始的適配目標,就會遇到第二個難題。
楊攀說,“在適配的操作系統具體版本上選擇很難,因為有各種版本,讓人眼花繚亂,比如通用版、高級版和安全版等。并且,除官網簡單說明外,各個版本間的具體區別很難獲取到詳細信息。”
如果是適配某個行業數據庫,企業較難從公開渠道獲取到數據庫最新發布版本和各版本差異。最后即使通過與售前人員聯系獲得數據庫安裝文件,但在實際適配過程中依然有坑,“實際適配中,某些特性無法很好的支持,而產品技術人員也無法給出明確解釋,最終只能由適配人員從代碼層面著手解決。”
通過市場調研,融云了解到:在 CPU 芯片體系架構上,主要分為 X86、ARM64、MIPS64;在國產操作系統上,市場占有率較高的有中標麒麟、銀河麒麟等。在數據庫方面,除了考慮市場占有率和品牌外,他們還考慮了特定行業的需求,“最終確定達夢、金倉、神通、南通”。
根據自身產品使用的語言、架構及中間件、適配評估的難度、周期和可行性方面,“我們確定的策略首先是 X86 + 中標麒麟 / 銀河麒麟 + 達夢 & 金倉 & 神通 & 南通,其次是適配 MIPS64,最后是 ARM64 體系。”楊攀說。
目前,融云的適配工作有 10 余人參與,包括服務端研發、PC 端研發和 DevOps 以及部署實施等人員。在實際適配時,團隊人員主要分為三類:研發人員負責數據庫的適配,DevOps 人員負責中間件在操作系統上的適配,集成測試人員負責適配后的整體測試。
適配工作不斷推進,“坑”也越來越多。以數據庫的適配為例,融云遇到的挑戰是對標準 SQL 語法的理解一致性的問題。
據楊攀介紹,適配 SQL 時,不僅對 utf8-mb4 字符集的支持標準不統一,而且報錯時,隱式和顯式通知也各不相同。為解決該問題,他們投入大量測試資源,對用到 utf-mb4 的業務邏輯,最終通過業務層進行轉碼來適配。
在適配過程中,“軟件坑點”只是困難之一,最大的困難或許是適配復雜性。
“產品依賴的一些組件需要進行 OS 層面的適配。例如,用 C 開發的基礎組件,包括 Nginx、Redis 和 OpenResty 等,它們在編譯過程中需要依賴指定的 glibc 庫版本。因此,需要升級 glibc 庫操作才可以正常運行。“他說。
并且,國產操作系統版本較多,架構不一致,也會大大提升復雜度。同時,架構不一致也會帶來一系列問題,例如基礎組件依賴的 OS 內置底層開發環境 glibc 庫的版本不一致,需要升級、重新編譯或在部署產品過程中處理掉程序的所有相關依賴項,在多個操作系統上進行反復測試,最終達到適配。
此外,除融云自研服務外,依賴的中間件,比如 Nginx、Redis、ActiveMQ 等。對不同的系統內核和基礎組件版本,它們在運行時的表現有差異。這需要通過融云完整的單元測試用例和性能測試框架去覆蓋功能及性能測試,從而發現潛在問題,“這部分工作也是整個適配過程中復雜度較高的工作內容”。
不過,在楊攀看來,數據庫和操作系統的適配工作所面臨的挑戰和復雜度是不一樣的。
操作系統的適配,由于涉及眾多組件,主要工作是在不影響性能的前提下,觀察整個融云的服務端所有組件及服務在指定操作系統上能否更好的配合起來,良好運行。它更多的工作是進行調優以及驗證。
數據庫的適配,更多是對 SQL 語法的改寫和驗證。“不僅功能性的驗證工作占比相對多一些,而且代碼層面的工作量相對更多,且更加繁瑣”。
對 DataPipeline 而言,操作系統和硬件環境的適配更多是靠靈活的部署策略。比如,某些環境容器化運行不穩定,DataPipeline 則提供非容器化的集群部署方式。
陳肅表示,工作量最大且最復雜的是將國產數據庫作為數據源和數據目的地進行適配。對于數據源,DataPipeline 通常需要提供基于日志的實時采集和基于 JDBC 的批量查詢兩種同步方式。但是,不同國產數據庫日志記錄的原理各不相同,而且對第三方解析的友好支持程度也不同,因此需要投入比較多的精力去解決該問題,并應對一些特殊數據類型的處理。而在數據目的地端,他們面臨的主要挑戰是如何實現靈活高性能的寫入。這通常需要根據數據庫特性,提供實時和批量加載兩種方式。
雖然有諸多困難,但是在他看來,國產數據庫 / 數據倉庫有著自己的優勢。
優勢一是架構的先進性。國產數據庫雖然起步較晚,但可以參考成熟產品并結合新理論進行架構方面的創新。國產數據庫在水平擴展和分布式容錯等方面比較優秀,這是受益于架構先進性。
另外,這波國產化浪潮正好趕上人工智能的風口。在傳統數據庫運維中,最頭疼的是參數調優和故障恢復。以華為 GaussDB 為代表的一些國產數據庫,將智能化運維作為重要產品特性加以研發和應用,“這代表了未來方向”。
第二個優勢是本地化服務。相比國外大廠,國內公司在靈活度、服務成本等方面都有一定優勢。另外,國產數據庫可根據國家政策對產品和服務進行調整的限制少、周期短,更容易滿足國家“安全可控信息技術”方面的法規要求。
在適配 Oracle 等傳統數據庫時,遇到問題時,DataPipeline 主要靠官方技術文檔來解決。比如,如何提高寫入速度,只能通過不斷實驗進行調優。但是在適配國產數據庫時,“我們會和產品方建立比較密切的聯系,有技術討論群,可以找到對方架構師甚至 CTO 討論問題。”陳肅說。
在 2019 年,有一次,客戶反饋某個國產數據庫目的地報了寫入異常,查看錯誤提示,得知問題是出于參數數量超過限定值。因為該數據庫是高度兼容 MySQL,同樣的數據寫入 MySQL 卻沒有問題。
“我們于是把這個 bug 放到技術討論群里進行反饋,10 分鐘就得到答復,而 bug 也在第二周的例行發行版中得到修復。同時,確認該 bug 產生的原因后,我們立即在產品中做了限制,幫客戶繞過這個問題。”他說,“這樣的響應速度和交流便捷性,是我們在做傳統數據庫適配時無法想象的。這也是國產軟件的優勢之一。”
眾所周知,在所有行業中,金融行業是對數據庫一致性和可靠性的要求是最高的。傳統上,這個領域是 Oracle、IBM 等公司的“天下”。
在陳肅看來,截至目前,絕大多數銀行的交易系統依然是基于 Oracle 和 DB2。
對銀行而言,核心交易系統的升級和替換是一件需要慎重考慮的事情。一方面,即使國產數據庫本身足夠優秀和穩定,也需要大量測試來保證遷移的平滑和遷移后的穩定;另一方面,大部分現有應用可能包含一些特定數據庫的方言,遷移到國產數據庫時,由于支持的方言不同,需要經歷一個適配過程。
因此,這兩點決定國產數據庫的存量替換工作在銀行核心系統上還有一個相對漫長的過程。
對于國產數據庫 / 數據倉庫的使用,金融行業更多是從分析系統入手。有些國產數據庫,比如 TiDB,它是支持 OLTP 和 OLAP 二合一的。在實際應用中,金融企業一般從數據倉庫應用入手,逐步在邊緣業務系統或新業務系統使用,最終進入核心系統。
與之相比,互聯網公司負擔較輕,“我們確實看到一些互聯網公司在比較激進地使用國產數據庫替代原有數據庫,尤其是在大規模的分布式集群應用場景下“。
無論是 DataPipeline,還是融云,它們只是無數適配企業的一個縮影。在其背后,我們看到的是國產化軟件正在崛起。
眾所周知,過去四十年,中國在白色家電、消費電子、通信技術、高速鐵路、生物醫藥等領域取得極大進步,甚至在某些領域處于世界領先。但是,在操作系統、數據庫等軟件系統偏底層的領域,始終主要依賴國外產品。隨著中國經濟體量的進一步增大,圍繞這些核心組件的產品 + 服務的市場規模不斷擴大。按照經濟規律,資本和社會資源就會逐漸流向這個領域,推動其發展和落地。
其次,國家層面對“安全可控信息技術”不斷深化的要求,催生出存量替換市場。據悉,早在 2014 和 2015 年,國家針對金融行業提出安全可控信息技術推進指南。操作系統、數據庫等核心組件是其中的重要組成。并且,隨著中美貿易戰的爆發,這項措施的必要性更加凸顯,這也促使“國產化”在更多部門和行業內加速推進。
此外,還有優秀的人才培養和人才回流。過去幾年,國內頭部公司培養和招募了國內外大量的優秀人才,其中包括從事操作系統、數據庫以及各類分布式中間件的研發人員。并且,隨著 IBM、Oracle 在內的國外巨頭縮減國內研發中心,一些有豐富經驗的工程師相繼加入國內公司從事研發工作。
作者|萬佳
來源|InfoQ
·······································································
我們精選了一下網友答案:
如果您現在還在問這個問題,說明您自己還沒有方向,別人給的建議都是基于別人經驗的。我建議您先分析一下自己的性格、能力,考慮好自己適合什么,然后對什么感興趣,再決定。不過離測試比較近的工作是QA主管、軟件開發、測試開發(STD)、項目經理。 如果您技術能力很強可以考慮做產品經理、管理能力強可以考慮項目經理,溝通能力強可以考慮實施經理或運維經理,還是要看您對什么感興趣了。
···································^^····································
軟件測試是保證軟件質量的關鍵步驟,目前國內很多軟件企業中軟件開發和軟件測試人員的配比僅能達到8∶1,而國際上公認的行業標準卻是1∶1,像微軟等大型公司中,這個比例甚至能達到1∶2,即一位軟件開發人員至少與兩位測試人員在配合工作。兩相比較,國內軟件測試人才的缺口巨大。就整體而言,測試行業目前還存在技能不均衡,軟件測試人員的水平也良莠不齊,對測試過程方法技術等的規范化也不是很系統。所以朝這個方向發展還是很有前景的。 感覺培訓機構都不大靠譜,重實踐輕理論,你要是有文憑,建議你考個高校的自主招生的碩士生,系統的學學軟件測試,這個專業性的人才出來真的很吃香。
·······································································
我們精選了一下網友答案:
···································^^····································
明明上一次就在心里暗暗發誓說這次一定要點個不一樣的,卻在面對菜單猶豫了5分鐘以后在店員不耐煩的眼神里和后面排隊客人嘖嘖出聲的壓迫中,只好胡亂點了一杯。
或者在家開開心心打開外賣軟件,前后滑動菜單一遍又一遍,在陌生的名字中迷亂了雙眼以后,又回到熟悉的單品點了確認購買?
測評菜單
養樂多綠/少冰/5分糖/珍珠/布丁
烏龍奶茶/熱飲/不另外加糖/波霸
四季青/常溫/5分糖/波珍椰
烏龍拿鐵/熱飲/不另外加糖
紅茶瑪奇朵/熱飲/3分糖/波珍椰
咖啡凍奶茶/常溫/5分糖
一切準備就緒!
測
評
開
始
養樂多綠
烏龍奶茶
正好測評那天比較冷,喝一口烏龍奶茶,整個口腔充滿焦香味,吸管戳到底,輕輕轉動兩下,一口吸上來Q彈軟糯的波霸,加上醇厚的奶茶,感覺整個人重新活了過來!
四季春
從來沒有像這樣直接喝過四季春,萬萬沒想到還不錯,清清爽爽!沒這么喝過的小伙伴可以試試喲!口味上有小驚喜!
烏龍拿鐵
解膩刮油的選擇,回味還有淡淡茶香,但感覺這款比較中規中矩,下次可以試試加紅豆和珍珠,據說是網紅隱藏菜單搭配!
紅茶瑪奇朵
瑪奇朵就是奶霜,或者叫奶蓋,一點點家是甜口的,把牛奶調成綿密甜香的奶霜,配各種茶做基底,紅茶的口感偏澀一點,五角星方便你劃開杯蓋把奶蓋喝得一滴不剩,喝的時候很有層次感,很醇滑!特別是我點了五分糖,真的是聰明啊!超級神仙的味道!
咖啡凍奶茶
這真的是第一次喝,超大塊咖啡凍,口感比布丁硬比椰果軟,龜苓膏的賣相,咖啡糖的口感,帶著絲絲苦苦的焦糖味!唯一可惜的是忘記加奶霜了,根據小伙伴的推薦,加奶霜會更好喝!
雖然現在我們大南通,各種奶茶牌子幾乎都有,個人喝的比較多的還是一點點和COCO,希望有一天能夠把這兩家的所有口味的奶茶都喝遍!
今日問答
每次喝一點點,你點什么?
南通市中心外賣指南①,上班族必備!美味又便宜!
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!